網絡抓包分析——移動互聯網方向第三組

 

 抓取的網站http://www.cnblogs.com/tankxiao數據庫

  ip地址42.121.252.58服務器

TCP三次握手(創建鏈接)抓包如圖。網站

wireshark中輸入http過濾,選中Get/tankxiao HTTP/1.1進行分析。this

由此得出源端口2236,目的端口80。由此往前按照時間順序排列找出TCP的三次握手。spa

 

第一次握手3d

客戶端發送一個TCP,標誌位爲SYN=1,序列號Seq=x=0,表明客戶端請求創建鏈接。code

 

第二次握手blog

服務器發回確認包,標誌位爲SYN=1,ACK=1,此時確認號字段有效。將確認序號(Acknowledgement Number)設置爲客戶端第一次握手時Seq的值+1,ack=x+1=0+1=1。此時Seq=y=0排序

 

第三次握手進程

客戶端收到此報文段後向服務器給出確認,其ACK=1,確認號ack=y+1=1。客戶端的TCP通知上層應用進程,鏈接已經創建。

 

 

UDP報文格式

源端口56966;目標端口8000;用戶數據長度882;校驗和0x1b1a;數據874byte

(注:疑似博客園登陸的服務器地址和數據庫服務器不一樣)

 

 

 

 

 

 

 

 

IP抓包分析

版本ipv4

首部長度20bytes4bit)

總長度52

標識Identification0x44b3(17587)

標誌Flags0x02

內部偏移Fragment offset0

生存時間64

協議TCP(6)

首部校驗和0x0d3a

ip地址192.168.1.123

目的ip地址42.121.252.58

 

分析icmp:

ICMP報文格式

(1) cmd下執行ping www.cnblogs.com

(2)wireshark抓到8個ICMP的查詢報文(分別是四次請求,四次應答)

分析:

 

① 紅色框中藍色爲IP首部,共同擁有20個字節

① 藍色爲ICMP報文字段,共同擁有40個字節

① ICMP報文內容

類型type爲8(回射請求/ping請求);

代碼code爲0;

校驗和checksum爲0x4a93

① 點擊下一個報文

類型type爲0(回射應答/ping應答);

代碼code爲0;

校驗和checksum爲0x5293

 

數據鏈路層分析:

 

抓包結果

Destination: Tp-LinkT_ d2: 58: c0 (80:89:17:d2: 58: c0)     目的地址:網卡地址

        Address: Tp-LinkT_ d2: 58: c0 (80:89:17:d2: 58: c0)    網卡地址

        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)    多點傳送

        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)    本地管理地址

Source: 9a: 59: 9e: ed: 65: e1   源地址:網卡地址

        Address: 9a: 59: 9e: ed: 65: e1    網卡地址

        .... ..1. .... .... .... .... = LG bit: Globally unique address (this is not factory default)    本地管理地址(非出廠設置)

        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)    多點傳送

    Type: IPv4 (0x0800)   幀內封裝的上層協議類型爲IPV4(十六進制碼0800)

 

 

TCP終止鏈接(四次握手)抓包如圖。

經過篩選含有FIN的過程和核對IP找出四次握手。

(注:未能找到源端口2237的四次含FIN過程,且覈對到IP相同的源端口2236含FIN過程僅此一次,排序相近。猜測是四次握手過程當中出現錯誤,服務器誤發往客戶端2236端口,且數據不相符,未經證明。)

 

第一次握手

客戶端的應用進程向其TCP發出鏈接釋放報文段,並中止再發送數據,主動關閉TCP鏈接。客戶端把鏈接釋放報文段首部的FIN=1,其序號seq=u=1,等待服務器確認。

 

第二次握手(疑似)

源端口爲2236而非猜測中的2237,且Seq,Ack數值也與理論數據相差過多,故不予討論,僅保留相關數據做參考。

 

根據第三次及第四次握手反推第二次握手的部分理論狀況:

服務器發出確認,確認號ACK=1,ack=u+1=2,報文段序號seq=?(無先後數值關聯,沒法推論)TCP服務器進程通知高層應用進程。從客戶端到服務器這個方向的鏈接就釋放了,TCP鏈接處於半關閉狀態。服務器若發送數據,客戶端仍要接收。

 

 

第三次握手

服務器已經沒有要向客戶端發送的數據,其應用進程通知TCP釋放鏈接。FIN=1,seq=w=1,ACK=1,ack=u+1,客戶端收到鏈接釋放報文段後,必須發出確認。

 

 

第四次握手

在確認報文段中ACK=1,,確認號ack=w+1=2,序列號Seq=u+1=2。

鏈接終止。

相關文章
相關標籤/搜索