Telnet
Telnet是一個用于遠程登錄的流行應用層協議,它運行在TCP之上,被設計成可在任意一對主機之間作業,它是一個互動式應用,Telnet可以很好的闡述TCP的序號與確認號,但是由于Telnet連接中發送的資料是沒有加密的,所以易于被竊聽攻擊
一個經TCP的簡單Telnet應用的確認號和序號

如上所示:
假設客戶和服務器的其實序號分別是42和79,一個報文段的序號就是該報文段資料欄位首位元組的序號,因此,客戶發送的第一個報文段的序號為42,服務器發送的抵押給報文段的序號為79,確認號就是主機正在等待的資料的下一個位元組序號,在TCP連接建立之后但沒有發送任何資料之前,該客戶等待位元組79,而該服務器等待位元組42,
圖中共發送3個報文段,第一個報文段是由客戶發往服務器,在它的資料欄位里包含一個位元組的字符C的ASCII碼,第一個報文段的序號欄位里是42,另外,由于客戶還未接收到來自服務器的任何資料,因此該第一個報文段中的確認號欄位中是79,
第二個報文段是由服務器發往客戶,它有兩個目的:首先它為該服務器所收到資料提供一個確認,通過在確認號欄位中填入43,服務器告訴客戶它已經成功地接收到位元組42以及以前的所有位元組,現在正等著位元組43的出現,該報文段的第二個目的是回顯字符C,因此,在第二個報文段的資料欄位里填入的是字符C的ASCII碼,第二個報文段的序號為79,它是該TCP連接上從服務器到客戶端的資料流的起始序號,這也正是服務器要發送的第一個位元組的資料,注意,對客戶到服務器的資料的確認被裝載在一個承載服務器到客戶的資料的報文段中;這種確認被稱為捎帶在服務器到客戶的資料報文段中的,
第三個報文段是從客戶發往服務器的,它的唯一目的是確認已從服務器收到的資料,該報文段的資料欄位為空,該報文段的確認號欄位填入的是80,因為客戶已經收到了位元組流中序號為79以及以前的位元組,它正在等待著位元組80的出現,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/403927.html
標籤:其他
上一篇:Nginx 負載均衡 - linux下nginx加載組態檔例外處理,提示invalid PID number in “/run/nginx.pid“問題解決
下一篇:cURL error 60: SSL certificate problem: unable to get local issuer certifica
