?
Wireshark 是幫助我們分析網絡請求的利器,建議每個同學都裝一個。我們先用 Wireshark 抓取一個完整的連接建立、發送數據、斷開連接的過程。
?
簡單的介紹一下操作流程。
?
1、首先打開 Wireshark,在歡迎界面會列出當前機器上的所有網口、虛機網口等可以抓取的部件。
?
?
2,接下來要用 Telnet 連接一個外網服務器,所以我選擇第一個 WI-FI:en0,這樣 Wireshark 就會捕獲我連接的 wifi 上的網絡傳輸。
?
3、想要抓一下最簡單的 TCP 連接、發數據、斷開的過程,所以要做一下抓取過濾。Wireshark 中的過濾器可以實現這樣的需求。在下圖紅框部分可以選了一個過濾器。
?
4、因為當前沒有直接可用的符合要求的過濾器,所以,需要自己寫一個。點擊前面的綠色書簽圖標,然后在彈出窗口中點擊加號添加一個。
?
?
內容如下,語法就不解釋了,一看就知道。
?
tcp and host?
?
5、選擇好剛添加的這個過濾器,雙擊wifi這個 interface 進入就開始捕獲了。
?
6、這里用了 telnet 連接這臺服務器的 6379 端口 telnet ip 6379,因為這臺服務器上裝著 redis,可以模擬發數據。
?
?
在控制臺中連接到 6379 端口成功,然后在 Wireshark 上馬上捕獲到了。
?
?
這就是三次握手的過程。
?
7、然后直接關掉終端,這樣會自動觸發斷開連接,并且發送最少的數據,方便我們觀察。整個的過程都被 Wireshark 完整的捕捉到了。
?
?
第一部分是連接建立的三次握手,第二部分是發了長度為 1個字節的數據,第三步是客戶端主動發起的斷開連接的四次揮手過程。
?
Wireshark 簡單介紹
有圖先看圖
?
?
概覽信息
?
也就是圖中最上面的紅色框部分。這一次的連接建立和中斷一共產生了來回 8 次的請求,每次請求會在列表上列出時間、源端IP、目的端IP、以太網幀長度以及概覽信息,包括數據傳輸方向(源端口->目標端口)、標記情況、序號、確認序號、窗口大小等等。
?
以太網幀
?
在每次請求信息中,還包括以太網幀,因為信息最終都會通過幀的形式發送出去。
?
IP數據報
?
還有 IP 數據報內容,其中包含了源端 IP 和 目的端 IP 等信息。
?
?
TCP段
?
TCP 段當然是重點了,其中包含了 TCP 協議中的所有信息,包括端口號、
?
?