Tcpdump 和 Wireshark 的結合使用(二)

在上一篇博文中我們分別介紹了Tcpdump 和 Wireshark 的簡單使用,這一節我們將介紹使用Wireshark 來分析 Tcpdump 抓住的網絡包,主要分析TCP三次握手的過程。


1.首先我們在Linux系統運行 下面的命令抓包,並保存在 a.cap 文件中,      

  #tcpdump -i any -w  a.cap       

  然後運行一個簡單的 socket 案例代碼,於是我們在當前目錄下就生成了 a.cap 文件。

2.用 wireshark 軟件打開 a.cap 文件,如圖



圖中可以看到wireshark截獲到了三次握手的三個數據包。

第四個包纔是HTTP的, 這說明HTTP的確是使用TCP建立連接的。


(1)第一次握手

第一次握手數據包,客戶端發送一個TCP,標誌位爲SYN,序列號爲0, 代表客戶端請求建立連接。 如下圖



(2)第二次握手

第二次握手的數據包,服務器發回確認包, 標誌位爲 SYN,ACK. 將確認序號(Acknowledgement Number)設置爲客戶的I S N加1以.即0+1=1, 如下圖



(3)第三次握手

第三次握手的數據包,客戶端再次發送確認包(ACK) SYN標誌位爲0,ACK標誌位爲1.並且把服務器發來ACK的序號字段+1,放在確定字段中發送給對方.並且在數據段放寫ISN的+1, 如下圖:



就這樣通過了TCP三次握手,建立了連接,剩下的就是數據的傳輸過程,請大家自己分析,相信不是很難了哈。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章