三次握手wireshark抓包分析,成功握手和失敗握手

啓動
點擊start出現下面的對話框

wireshark是捕獲機器上的某一塊網卡的網絡包,當機器上有多塊網卡的時候,需要選擇一個網卡進行捕獲操作。
選擇網卡
>主頁面上,直接點擊選中後start
>capture->interfaces,選擇後start

窗口介紹

1. Display Filter(顯示過濾器), 用於過濾已經捕獲到的數據
   PS:過濾器分爲顯示過濾器和捕獲過濾器。捕獲過濾器用來過濾捕獲的封包,以免捕獲到過多的數據。
       捕獲過濾器的設置方式,capture->capture filters
2. Packet List Pane(封包列表), 顯示捕獲到的封包, 有源地址和目標地址,端口號。 顏色不同,代表不同的協議。
3. Packet Details Pane(封包詳細信息), 顯示封包中的字段
    各行信息說明如下:
         Frame: 物理層的數據幀概況
         Ethernet II: 數據鏈路層以太網幀頭部信息
         Internet Protocol Version 4: 互聯網層IP包頭部信息
         Transmission Control Protocol: 傳輸層T的數據段頭部信息
         Hypertext Transfer Protocol: 應用層的信息
4. Dissector Pane(16進制數據)
    16進制數據查看面板,也叫做解析器。這裏顯示的內容與“封包詳細信息”中相同,只是改爲以16進制的格式表述。
5. Miscellanous(地址欄)

三次握手抓包過程分析
  首先來一張三次握手經典圖解

下面使用wireshark實際分析三次握手過程
1.打開wireshark,打開瀏覽器輸入網址blog.csdn.net/hello_yz並訪問;
2.停止捕獲,紅方塊。不停止的話後面一直抓一直抓......;
3.在封包列表中可以找到下圖數據:
  
在圖中可以看到,訪問blog.csdn.net/hello_yz網站過程中,wireshark截獲到了三次握手的三個數據包,第四個包纔是http的。這也說明http確實是使用TCP建立連接的。

下面進行三個數據包的詳細分析。
首先對封包詳細信息分析說明
選中一條TCP協議數據包,它的封包詳細信息如下圖:

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

第二次握手數據包,可以看到服務器發回確認包, 標誌位爲 SYN,ACK. 將確認序號ACK設置爲1.如下圖:

第三次握手數據包,可以看到客戶端再次發送確認包(ACK) ,標誌位爲ACK,將sequence+1.如下圖:

經過上述三次握手過程,即建立了HTTP連接。

當三次握手無法順利進行時,也就不能建立連接。
爲了避免抓到過多冗餘數據,可以進行捕獲過濾器設置
在host文件中添加如下數據便於測試
102.54.94.97     www.oa.com
捕獲過濾器設置如下圖:
capture->capture filter->new

Filter name自己隨意取,host www.oa.com表示只捕獲主機名爲www.oa.com的數據包
然後,capture->option,選好之後start

抓到的數據包如下所示,可以看到在客戶端發出第一次握手的請求後,沒有得到服務器的應答,握手失敗,無法建立連接。

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