網路抓包分析----第四組
IP抓包分析
抓包網址:www.2345.com
本機IP:172.31.116.111
目的網址IP:42.62.30.180
傳輸層TCP報文格式
TCP協議的報文格式:整個報文由報文頭部和資料兩部分組成。
TCP報文格式:
16位源埠(Source Port):53353
16位目的埠(Destination Port):443
32位序列號(Sequence Number):0
32位確認號(Acknowledgement Number):0
首部長度(Header Length):32bytes
保留欄位(Reserved):000
緊急URG:0
確認ACK:0
推送PuSH:0
復位ReSeT:0
同步SYN:1
終止FIN:0
16位視窗欄位:65535
16位TCP校驗和(Checksum):0x69a7
16位緊急指標(Urgent pointer):0
選項(Option)
TCP協議的連線管理
TCP是面向連線的傳輸層協議,所謂面向連線就是在真正的資料傳輸開始前要完成連線建立的過程,否則不會進入真正的資料傳輸階段。
TCP的連線建立過程通常稱為三次握手,步驟如下:
步驟1
172.31.116.111的TCP向42.62.30.180發出連線請求報文段,其首部中的同步為SYN=1,並選擇序號seq=0,表明傳送資料的第一個資料位元組的序號是0。
步驟2
42.62.30.180的TCP收到連線請求報文段後,如同意,則發回確認。ACK=1。同時42.62.30.180向172.31.116.111 發起連線請求,應使SYN=1,自己選擇的序號seq=0。
步驟3
172.31.116.111收到此報文段後向42.62.30.180發出確認,其ACK=1,確認號ack=1。172.31.116.111的TCP通知上層應用程序,連線已經建立。
網路層協議的報文格式
網路層位於TCP/IP協議棧資料鏈路層和傳輸層中間,網路層接受傳輸層的資料報文,分段為合適的大小,用IP報文頭部封裝,交給資料鏈路層。
常見網路層協議
IP協議 ICMP協議 ARP協議
IP包格式
抓包分析:
1、
版本(version):IP協議,4代表IPv4協議
2、
報文長度(header length):IP報頭的長度
3、
服務型別:優先順序標誌位和服務型別標誌位,被路由器用來進行流量的優先排序。
IPv4報頭中IP優先順序的定義是相同的,CS0 ~CS7的級別相等於IP優先順序0 ~7。這裡的DSCP差分服務程式碼點:CS0所以優先順序為0。
3位元可以定義8個等級。
8個優先順序的定義如下:
111 -Network Control 網路控制
110 -Internetwork Control 網間控制
101 -Critic 關鍵
100 - FlashOverride 疾速
011 -Flash 閃速
010 -Immediate 快速
001 -Priority 優先
000 -Routine 普通
優先順序6和7一般保留給網路控制資料使用,比如路由。
優先順序5推薦給語音資料使用。
優先順序4由視訊會議和視訊流使用。
優先順序3給語音控制資料使用。
優先順序1和2給資料業務使用。
優先順序0為預設標記值。
在標記資料時,既可以使用數值,也可以使用名稱(英文名稱)。
ECN:00,表示不支援ECN
4、
總長度(total length):IP報頭加上IP報頭上層協議的總長度
5、
識別符號(identification):表示該片是由那個資料包分片出來的,如果識別符號相同,說明這些分片是由同一個資料包分片出來的
MTU最大傳輸單元,預設網路中資料包不能超過1500個位元組,如果超過,路由器或交換機必須對其進行分片,否則將會被丟棄
6、
標誌(flags):長度為上位元
第一個位元:保留位,沒有意義
第二個位元:為1 代表可分片,為0代表不能被分片
第三個位元:為1,表示後面還有分片,為0,表示為最後一個分片
片偏移(fragment offset):將收到的資料包從第一個分片和最後一個分片進行整理,整合為一個完整的資料包
7、
生存時間(time to live):TTL,有三個預設的值64(代表資料包的目的裝置作業系統為Linux)、128(代表為windows 作業系統)、255(代表是一臺路由器),每經過一臺路由器,TTL值會減一,如果減到零,網路中的裝置會丟棄該資料包,目的是防止資料包在網路中不停的被髮送,避免發生路由環路。
這裡的數字為:49。
8、
協議(protocol):為6代表IP報頭上面承載的是TCP協議
9、
報頭檢驗和(header checksum):檢測報文的完整性
10、
源IP地址和目的IP地址:供路由選路
ICMP的報文格式分析
實驗原理:
ping是用來測試網路連通性的命令,一旦發出ping命令,主機會發出連續的測試資料包到網路中,在通常的情況下,主機會收到迴應資料包,ping採用的是ICMP協議。
ICMP的報文格式
開啟命令列視窗,執行命令:ping www.2345.com:
這時可以看到資料包抓取頁面抓取到了8包,與命令列顯示的已傳送和已接受的包的數量是一致的:
ICMP的報文格式只有兩種:
一:Type: 8 (Echo (ping) request)
型別:8(迴應請求)程式碼/編碼:0
校驗和: 0x4d4e
二:Type: 0 (Echo (ping) reply)
型別:0(迴應應答)
程式碼/編碼:0
校驗和: 0x554e
資料鏈路層幀結構分析
資料鏈路層有兩個子層:邏輯鏈路接入控制子層LLC ,媒體接入控制子層MAC。
由於TCP/IP體系經常使用的區域網是DIX EthernetV2 而不是802.3標準中的幾種區域網,且很多廠商生產的介面卡僅有MAC協議而沒有LLC協議,LLC作用已不大。所以一般都是分析MAC
乙太網幀結構如下:
乙太網的MAC幀格式
抓包如下,抓的網址為www.2345.com。
目的MAC地址 Destination 6個位元組 54 ee 75 a7 45 36
源MAC地址 Source 6個位元組 04 f9 38 c9 6a 22
型別 Type 2位元組 0800
幀檢驗序列在資料幀收到後會刪除。