1. 對以太網幀、ip數據報、TCP報文結構的分析
以南郵圖書館網站為例,圖書館網址為:http://lib.njupt.edu.cn,對應的IP地 202.119.224.202。
設置wireshark的過濾條件為”ip.addr == 202.119.224.202”,得到下面結果:

雙擊第一條,得到詳細信息:

從上往下,依次對應tcp/ip五層模型中的數據鏈路層、網絡層和傳輸層。
1.1 以太網MAC幀分析
數據鏈路層使用以太網傳輸,以太網MAC幀格式如下:

這個是以太網幀內容(以十六進制的形式顯示):

可以知道目的地址為:74:5a:aa:de:fe:65,源地址為:84:3a:4b:70:27:bc,類型為:0x0800(即IPv4),后面是數據(IP數據報)。
1.2 IP數據報分析
IP數據報首部的格式如下:

根據下圖(二進制顯示):

版本:0100(version: 4);首部長度:0101(5*4 byte);區分服務:00000000;總長度:00000000 00101000(40 bytes);標識:01001010 01111010;標志:010(DF=1);片偏移:00000 00000000;生存時間:10000000;協議:00000110(TCP);首部檢驗和:11100011 10001101;源地址:10.164.22.226;目的地址:202.119.224.202。
1.3 TCP報文分析
接着看IP數據報的數據部分(TCP報文),TCP報文格式:

根據下圖(以二進制形式表示):

源端口:00110101 01001010(13624);目的端口:00000000 01010000(HTTP默認端口號80);序號:11001001 11100010 10110001 00000001;確認號:01011001 11011000 11011100 01110101;數據偏移:0101(5*4 bytes);保留:000000;URG:0;ACK:1;PSH:0;PST:0;SYN:0;FIN:1;窗口:00000001 00000000(256);檢驗和:11111011 00111110;緊急指針:00000000 00000000。
2. 對三次握手建立TCP連接的分析
再回到這個主界面上:

圖中可以看到wireshark截獲到了三次握手的三個數據包。第四個包才是HTTP的,這說明HTTP的確是使用TCP建立連接的。
2.1 第一次握手數據包
客戶端發送一個TCP,標志位為SYN,序列號為0, 代表客戶端請求建立連接。 如下圖

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

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

在進過三次握手后和服務器建立了TCP連接,隨后瀏覽器發出了取文件命令GET。

服務器給出響應,把文件發給瀏覽器。
最后釋放TCP連接,如下圖所示:

