1. 程式人生 > >網路抓包分析----第四組

網路抓包分析----第四組

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

 

 

幀檢驗序列在資料幀收到後會刪除。