主頁 >  其他 > WireShark——IP協議包分析(Ping分析IP協議包)

WireShark——IP協議包分析(Ping分析IP協議包)

2020-09-15 02:54:47 其他

   互聯網協議 IP 是 Internet Protocol 的縮寫,中文縮寫為“網協”,IP 協議是位于 OSI 模型中第三層的協議,其主要目的就是使得網路間能夠互聯通信,前面介紹了 ARP 協議, 該協議用在第二層處理單一網路中的通信,與其類似,第三層則負責跨網路通信的地址,在 這層上作業的不止一個協議,但是最普遍的就是互聯網協議(IP)

1. IP協議介紹

   互聯網協議地址(Internet Protocol Address,又譯為網際協議地址),縮寫為 IP 地址(IP Address),在上一章介紹了 ARP 協議,通過分析包可以發現它是依靠 MAC 地址發送資料 的,但是,這樣做有一個重大的缺點,當 ARP 以廣播方式發送資料包時,需要確保所有設 備都要接收到該資料包,這樣,不僅傳輸效率低,而且局限在發送者所在的子網路,也就是 說,如果兩臺計算機不在同一個子網路,廣播是傳不過去的,這種設計是合理的,否則互聯 網上每一臺計算機都會受到所有包,將會導致網路受到危害, 互聯網是無數子網共同組成的一個巨型網路,

 

   圖中就是一個簡單的互聯網環境,這里列出了兩個子網路,如果想要所有電腦都在同 一個子網路內,這幾乎是不可能的,所以,需要找一種方法來區分那些 MAC 地址屬于同一 個子網路,那些不是,如果是同一個子網路,就采用廣播方式發送,否則就采用路由發 送,這也是在 OSI 七層模型中網路層產生的原因,

   它的作用就是引進一套新的地址,使得用戶能夠區分不同的計算機是否屬于同一個子網 絡,這套地址就叫做網路地址,簡稱網址,但是,人們一般叫做是 IP 地址,這樣 每臺計算機就有了兩種地址,一種是是 MAC 地址,另一種是網路地址(IP 地址),但是, 這兩種地址之間沒有任何聯系,MAC 地址是系結在網卡上的,網路地址是管理員分配的, 它們只是隨機組合在一起,

2. IP地址

   IP 地址是 IP 協議提供的一種統一的地址格式,它為互聯網上的每一個網路和每一臺主 機分配一個邏輯地址,以此來屏蔽物理地址的差異,IP 地址分為 IPv4IP 協議的第四版) 和 IPv6IP 協議第六版)兩大類,目前,最廣泛使用的是 IPv4,在該版本中規定,該地址 是由 32 個二進制位組成,用來標識連接到網路的設備,由于讓用戶記住一串 32 位長的 01 字符確實比較困難,所以 IP 地址采用點分四組的表示法,

   在點分四組表示法中,以 ABCD 的形式構成 IP 地址的四組 1 0,它們分別轉 換為十進制 0 255 之間的數,如圖 3.2 所示,

 

    3.2 顯示了 IPv4 地址 11000000.10101000.00000000.00000001,進行了點分四組的表 示法,從圖 3.2 中,可以看到這樣一串 32 位長的數字很不容易記住或者表示,但是采用點 分四組的表示法,就可以將以上一個很長的字串表示為 192.168.0.1,這樣,用戶就比較容 易記住,

3. IP地址的構成

   IP 地址之所以會被分成四個單獨的部分,是因為每個 IP 地址都包含兩個部分,分別是 網路地址和主機地址,網路地址用來標識設備所連接到的局域網,而主機地址則標識這個網 絡中的設備本身,例如,IP 地址 172.16.254.1 是一個 32 位的地址,假設它的網路部分是前 24 位(192.168.254),那么主機部分就是后 8 位(1),處于同一個子網路的計算機,它們 IP 地址的網路部分必定是相同的,也就是說 172.16.254.2 應該與 172.16.254.1 處在同一個子 網路,

   但是,只查看 IP 地址是無法判斷網路部分的,這時候就需要使用另一個引數子網掩 碼來判斷,所謂的子網掩碼就是表示子網路特征的一個引數,它在形式上等同于 IP 地址,也是一個 32 位二進制數字,它的網路部分全部為 1,主機部分全部為 0

   下面以IP地址10.10.1.22為例,其二進制形式為00001010.00001010.00000001.00010110, 為了能夠區分出 IP 地址的每一個部分,將使用子網掩碼來表示,在本例中,10.10.1.22 的子 網掩碼是 11111111.11111111.00000000.00000000,這就意味著 IP 地址的前一半(10.10 或者 00001010.00001010)是網路地址,而后一半(1.22 或者 00000001.00010110)表示是該網路 上的主機,如圖 3.3 所示,

 

    11111111.11111111.0000000.000000,可以被寫成 255.255.0.0

   IP 地址和子網掩碼為簡便起見,通常會被些成無型別域間選路(Classless Inter Domain RoutingCIDR)的形式,在這種形式下,一個完整的 IP 地址后面會有一個左斜杠(/), 以及一個用來表示 IP 地址中網路部分位數的數字,例如,IP 地址 10.10.1.22 和網路掩碼 255.255.0.0,在 CIDR 表示法下就會被寫成 10.10.1.22/16 的形式,

4. 捕獲IP資料包

1)什么是 IP 資料報

   TCP/IP 協議定義了一個在因特網上傳輸的包,稱為 IP 資料報(IP Datagram),IP 資料 報是一個與硬體無關的虛擬包,由首部(header)和資料兩部分組成,首部部分主要包括版 本、長度、IP 地址等資訊,資料部分一般用來傳送其它的協議,如 TCP、UDP、ICMP 等,

  IP 資料報的“首部”部分的長度為 20 到 60 個位元組,整個資料報的總長度最大為 65535 位元組,因此,理論上一個資料報的“資料”部分,最長為 65515 位元組,由于以太網資料報的 “資料”部分,最長只有 1500 位元組,因此如果 IP 資料報超過了 1500 位元組,就需要分割成 幾個以太網資料報分開發送了,

2)TTL

   捕獲 IP 協議包和其它包有點區別,因為在 IP 協議中涉及到一個 TTLtime-to-live,生 存時間)值問題,TTL 值指定資料包被路由器丟棄之前允許通過的網段數量,當資料包每 經過一個路由器,其 TTL 值將會減一,關于 TTL 的詳細資訊,在后面進行介紹,下面將介 紹捕獲 IP 協議包,Wireshark 的位置,

   為了證明 TTL 值的變化,本例中選擇使用三個路由器來捕獲資料包,捕獲 IP 協議資料 包的實驗環境,如圖 3.4 所示,

 

   從圖中,可以看到使用兩個路由器,將三臺主機分割成兩個網段,這三臺主機的 IP 地址,在圖 3.4 中已經標出,在本例中,Wireshark 可以在 PC1 PC2 任意一臺主機上運行, 但是,不可以在 PC3 上運行,因為,在后面將會分別分析同網段和不同網段中 IP 協議包, 如果在 PC3 上捕獲資料包,只能捕獲同網段的 IP 資料包,

3) 捕獲資料包

① 訪問一個網頁

   打開瀏覽器,訪問 http://www.baidu.com 網站,將捕獲到如圖所示的界面,

 

   從該界面的 Protocol 列,可以看到捕獲到有 DNSTCPHTTP 等協議的包,在這些包 中,都包含由 IP 頭部的詳細資訊,但是,這樣可能會影響對 IP 協議包的分析,

② 執行 ping 命令

   為了不受很多協議的影響,這里通過執行 ping 命令僅捕獲 ICMP 協議的資料包,此時 在主機 PC1 上執行 ping 命令,分別 pingPC2 PC3,執行命令如下所示:

C:\Users\Administrator>ping 192.168.5.4 C:\Users\Administrator>ping 192.168.6.103

   執行以上命令后,捕獲到的資料包如圖所示,

 

  捕獲到的 IP 協議包

   從該界面的 Protocol 列,可以看到都是 ICMP 協議的包,而且每個包的顏色也都是相同 的,雖然從該界面看到捕獲到的資料包很多,但是只需要分析其中兩個包,就可以很清楚的 理解 IP 協議包格式,此時,用戶還可以使用 IP 的顯示過濾器對資料包進行過濾,如過濾僅 顯示主機 PC3192.168.6.103)的資料包,輸入過濾器 ip.addr==192.168.6.103,顯示界面如圖所示,

 

   從該界面可以看到,以上資料包都是發送/來自 192.168.6.103 的資料包,

4) 捕獲 IP 分片資料包

   在上面提到說,如果一個資料包超過 1500 個位元組時,就需要將該包進行分片發送,通 常情況下,是不會出現這種情況的,但是為了幫助用戶更清晰的理解 IP 協議,下面通過使 用 ICMP 包,來產生 IP 分片資料包,本節將介紹如何捕獲到 IP 分片資料包,

   使用 ICMP 包進行測驗時,如果不指定包的大小可能無法查看到被分片的資料包,由于 IP 首部占用 20 個位元組,ICMP 首部占 8 個位元組,所以捕獲到 ICMP 包大小最大為 1472 位元組, 但是一般情況下,ping 命令默認的大小都不會超過 1472 個位元組,這樣,發送的 ICMP 報文 就可以順利通過,不需要經過分片后再傳輸,如果想要捕獲到 IP 分片包,需要指定發送的 ICMP 包必須大于 1472 位元組,

   捕獲 IP 分片的資料包,具體操作步驟如下所示:

     1)啟動 Wireshark 捕獲工具,  

     2)在 Wireshark 主界面的選單欄中依次選擇 Capture|Options,或者單擊工具列中的 (顯示捕獲選項)圖示打開 Wireshark 捕獲選項視窗,如圖所示,

 

捕獲選項界面

   3)在該界面設定捕獲介面、捕獲過濾器及捕獲檔案的位置,這里將捕獲的資料保存 到 ip-fragment.pcapng 捕獲檔案中,如圖 3.10 所示,以上資訊配置完后,單擊 Start 按鈕開始 捕獲資料包,如圖 所示,

 

開始捕獲資料包

   此時在主機 PC1 上執行 ping 命令,以產生 ICMP 資料包,執行命令如下所示:

C:\Users\lyw>ping 192.168.5.4 -l 3000

   在該命令中,使用-l 選項指定捕獲包的大小為 3000 位元組,執行以上命令后,將顯示如 下所示的資訊:

正在 Ping 192.168.5.4 具有 3000 位元組的資料:

來自 192.168.5.4 的回復: 位元組=3000 時間=5ms TTL=64

來自 192.168.5.4 的回復: 位元組=3000 時間=5ms TTL=64

來自 192.168.5.4 的回復: 位元組=3000 時間=5ms TTL=64

來自 192.168.5.4 的回復: 位元組=3000 時間=5ms TTL=64

   從以上輸出資訊中,可以看到捕獲到每個包的大小都為 3000 位元組,這時候,回傳到 Wireshark 界面停止捕獲資料,將顯示如圖所示的界面,

 

    IP 分片資料包

   從該界面可以很清楚的看到,和前面捕獲到的資料包不同,在該界面 Protocol 列,顯示 了 IPv4 協議的包,這是因為發送的資料包過大,所以經過了分片后發送的,

5、IP資料報首部格式

    IP 地址和目的 IP 地址都是 IPv4 資料報首部最重要的組成部分,但是,在首部固定 部分的后面還有一些可選欄位,并且其長度是可變的,下面將詳細介紹 IP 資料報首部格式, 如表 3-1 所示,

3-1  IP資料報首部格式  

IP協議

偏移位

03

47

815

1618

1931

0

版本

首部長度

服務型別

總長度

32

識別符號

標記

分段偏移

64

存活時間

1

首部校驗和

 

96

IP地址

128

目的IP地址

160

選項

160192+

資料

在表 3-1 中,每個欄位代表的含義如下所示:

   · 版本號:指 IP 協議所使用的版本,通信雙方使用的 IP 協議版本必須一致,目前廣 泛使用的 IP 協議版本號為 4,即 IPv4

   · 首部長度:IP 的首部長度,可表示的最大十進制數值是 15,注意,該欄位所表示 的單位是 32 位字長(4 個位元組),因此,當 IP 首部長度為 1111(即十進制的 15) 時,首部長度就達到 60 位元組,當 IP 分組的首部長度不是 4 位元組的整數倍時,必須利用最后的填充欄位加以填充,

   · 服務型別:優先級標志位和服務型別標志位,被路由器用來進行流量的優先排序,

   · 總長度:指 IP 首部和資料報中資料之后的長度,單位為位元組,總長度欄位為 16 位, 因此資料報的最大長度為 216-1=65535 位元組,

   · 識別符號:一個唯一的標識數字,用來識別一個資料報或者被分片資料包的次序,

   · 標識:用來標識一個資料報是否是一組分片資料報的一部分,標志欄位中的最低位 記為 MFMore Fragment),MF=1 即表示后面還有分片的資料報,MF=0 表 示這已是若干資料包分片中的最后一個,標志欄位中間的一位記為 DFDon't Fragment),意思是不能分片,只有當 DF=0 時,才允許分片,

   · 分片偏移:一個資料報是一個分片,這個域中的值就會被用來將資料報以正確的順 序重新組裝,

   · 存活時間:用來定義資料報的生存周期,以經過路由器的條數/秒數進行描述,

   · 協議:用來識別在資料包序列中上層協議資料報的型別,如,ICMP則協議值為1,TCP協議值為6,UDP協議值為17;更多的請自行百度

   · 首部校驗和:一個錯誤檢測機制,用來確認 IP 首部的內容有沒有被損壞或者篡改,

   · IP 地址:發出資料報的主機的 IP 地址,

   · 目的 IP 地址:資料報目的地的 IP 地址,

   · 選項:保留作額外的 IP 選項,它包含著源站選路和時間戳的一些選項,

   · 資料:使用 IP 傳遞的實際資料

1)存活時間 TTL

   存活時間(TTL)值定義了在該資料報被丟棄之前,所能經歷的時間,或者能夠經過的 最大路由數目,TTL 在資料報被創建時就會被定義,而且通常在每次被發往一個路由器的 時候減 1,

   例如,如果一個資料報的存活時間是 2,那么當它到達第一個路由器的時候,其 TTL 會被減為 1,并會被發向第二個路由,這個路由接著會將 TTL 減為 0,這時,如果這個資料 報的最終目的地不在這個網路中,那么這個資料報就會被丟棄,如圖 3.13 所示,

    3.13就是資料報經過路由器后,TTL 值的變化,由于 TTL 的值在技術上還是基于時間的,一個非常繁忙的路由器可能會將 TTL 的值減去不止 1,但是通常情況下,還是可以 認為一個路由器設備在多數情況下只會將 TTL 的值減去 1

   了解 TTL 值的變化是非常重要的,一般用戶通常所關心的一個資料報的生存周期,只 是其從源前往目的地所花去的時間,但是考慮到一個資料報想要通過互聯網發往一臺主機需 要經過數十個路由器,在這個資料報的路徑上,它可能會碰到被錯誤配置的路由器,而失去 其到達最終目的地的路徑,在這種情況下,這個路由器可能會做很多事情,其中一件就是將 資料報發向一個網路,而產生一個死回圈,如果出現死回圈這種情況,可能導致一個程式或 者整個作業系統崩潰,同樣的,如果資料報在網路上傳輸時,資料報可能會在路由器直接持 續回圈,隨著回圈資料報的增多,網路中可用的帶寬將會減少,直至拒絕服務(DoS)的情 況出現,IP 首部中的 TTL 域,就是為了防止出現這種潛在的問題,

2)IP分片

   資料報分片是將一個資料流分為更小的片段,是 IP 用于解決跨越不同型別網路時可靠 傳輸的一個特性,一個資料報的分片主要是基于第二層資料鏈路層所使用的最大傳輸單元 (Maximum Transmission UnitMTU)的大小,以及使用這些二層協議的設備配置情況, 在多數情況下,第二層所使用的資料鏈路協議是以太網,以太網的 MTU 1500,也就是說, 以太網的網路上能傳輸的最大資料報大小是 1500 位元組(不包括 14 位元組的以太網頭本身),

   當一個設備準備傳輸一個 IP 資料報時,它將會比較這個資料報的大小,以及將要把這 個資料報傳送出去的網路介面 MTU,用于決定是否需要將這個資料報分片,如果資料報的 大小大于 MTU,那么這個資料報就會被分片,將一個資料報分片包括下列幾個步驟,如下 所示:

      1)設備將資料分為若干個可成功進行傳輸的資料報,

      2)每個 IP 首部的總長度域會被設定為每個分片的片段長度,

      3)更多分片標志將會在資料流的所有資料報中設定為 1,除了最后一個資料報,

      4IP 頭中分片部分的分片偏移將會被設定,

      5)資料報被發送出去

6、分析 IP 資料包

   通過前面對 IP 協議的詳細介紹及資料包的捕獲,現在就可以來分析 IP 資料包了,

1)分析IP首部

這里以捕獲檔案的第一幀為例,介紹 IP 資料包首部,如圖 3.14 所示,

 

   在該圖中從 Packet Details 面板中,可以看到有 IPv4 協議的包,這里就詳細介紹在該包 中的詳細資訊,如下所示:

Frame 1: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface 0

   以上資訊表示是第一幀資訊,其大小為 74 個位元組,

Ethernet II, Src: Elitegro_3f:c3:e5 (00:19:21:3f:c3:e5), Dst: Giga-Byt_eb:46:8d (50:e5:49:eb:46:8d)

   以上資訊表示是以太網幀頭部資訊,其中,源 MAC 地址為 00:19:21:3f:c3:e5,目標 MAC 地址為 50:e5:49:eb:46:8d

Internet Protocol Version 4, Src: 192.168.5.2 (192.168.5.2), Dst: 192.168.5.4 (192.168.5.4)

   以上資訊表示IPv4包頭部資訊,其中源IP地址為192.168.5.2,目標IP地址為192.168.5.4, 在該包首部中還有很多其它欄位的資訊,下面將介紹該包中展開的所有資訊,如下所示:

 

   以上資訊包括 IP 包首部的所有欄位,對應到包首部格式中,如表 3-2 所示,

    3-2  IP包首部格式

IP協議

偏移位

03

47

815

1618

1931

0

4

20

0x00

60

32

0x050e

0x00

0

64

64

ICMP(1)

0xea5c

96

192.168.5.2

128

192.168.5.4

160

 

160192+

 

   在該包中最后一行資訊如下所示:

Internet Control Message Protocol

以上資訊表示 ICMP 協議包資訊,關于該協議的分析,在后面進行介紹,

2)分析IP資料包中TTL的變化

   前面介紹過 TTL 值是經過路由器后才發送變化,也就是說如果在同一網段中傳輸資料 包時,TTL 值是不變的,只有與非同網段的主機進行通信時,該資料包的 TTL 值才會發生 變化,下面通過分析捕獲檔案,來確定 TTL 值是否是這樣變化的,

① 分析同網段中資料包的 TTL 值

   這里同樣以捕獲檔案為例,分析同網段 TTL 值的變化,在 ip.pcapng 捕獲文 件中,1~8 幀都是主機 PC1192.168.5.2)和 PC2192.168.5.4)之間的通信,這八幀可以 說是 4 個完整的資料包,也就是通過 ICMP 協議的發送和回應包,這里以 ip.pcapng 捕獲文 件中的 34 幀為例,分析這兩個包中的 TTL 值,其中,34 幀的資訊如圖 3.15 所示,

 

   從該界面的 Packet List 面板中,Info 列可以看到 34 幀包資訊分別是 Echopingrequest (請求)和 Echopingreply(回應),也就是說 192.168.5.2PC1)發給 192.168.5.4 的 包是一個請求包,192.168.5.4PC2)的包是一個回應包,其中,這兩臺主機是在同一個網 絡中,所以這兩個包的 TTL 值應該相同,下面分別來看這兩個包中 IP 包首部的相信資訊,

    第三幀的 IP 包首部資訊如下所示:

Internet Protocol Version 4, Src: 192.168.5.2 (192.168.5.2), Dst: 192.168.5.4 (192.168.5.4)                   

   Version: 4          #IP 協議版本號

   Header length: 20 bytes       #首部長度

   Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))            #服務識別符號     

   Total Length: 60         #總長度    

   Identification: 0x050f (1295)      #識別符號    

   Flags: 0x00         #標志        

       0... .... = Reserved bit: Not set     #保留位        

       .0.. .... = Don't fragment: Not set     #不進行分片        

       ..0. .... = More fragments: Not set     #更多分片     

   Fragment offset: 0        #分片偏移     

   Time to live: 64         #生存期     

   Protocol: ICMP (1)        #協議    

   Header checksum: 0xea5b [validation disabled]   #首部校驗和     

   Source: 192.168.5.2 (192.168.5.2)     #IP 地址     

   Destination: 192.168.5.4 (192.168.5.4)    #目標 IP 地址     

   [Source GeoIP: Unknown]       #IP 地理位置    

   [Destination GeoIP: Unknown]      #目標 IP 地理位置

   以上資訊是第三針中 IPv4 首部的詳細資訊,從中可以看到,該包中的 TTL 值是 64, 第四幀的 IP 包首部資訊如下所示

Internet Protocol Version 4, Src: 192.168.5.4 (192.168.5.4), Dst: 192.168.5.2 (192.168.5.2)     

   Version: 4          #IP 協議版本號     

   Header length: 20 bytes       #首部長度     

   Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))            #服務識別符號     

   Total Length: 60         #總長度     

   Identification: 0xc71d (50973)      #識別符號     

   Flags: 0x00         #標志         

      0... .... = Reserved bit: Not set     #保留位         

      .0.. .... = Don't fragment: Not set     #不進行分片         

      ..0. .... = More fragments: Not set     #更多分片     

   Fragment offset: 0        #分片偏移     

   Time to live: 64         #生存期     

   Protocol: ICMP (1)        #協議     

   Header checksum: 0x284d [validation disabled]   #首部校驗和         

      [Good: False]         

      [Bad: False]     

   Source: 192.168.5.4 (192.168.5.4)     #IP 地址     

   Destination: 192.168.5.2 (192.168.5.2)    #目標 IP 地址     

   [Source GeoIP: Unknown]       #IP 地理位置     

   [Destination GeoIP: Unknown]      #目標 IP 地理位置

   從以上資訊中,可以看到每個欄位的資訊都和第三幀 IP 包首部的資訊都相同,這兩個 包中的生存期(TTL),沒有發生變化,這是因為,主機 PC1 PC2 在同一個網段內,它 們之間傳輸的資料不需要經過路由器,

② 分析不同網段中資料包的 TTL 值

   下面以捕獲檔案為例,分析不同網段 TTL 值的變化,在 ip.pcapng 捕獲檔案 中,9-16 幀是兩臺(PC1 PC3)不同網段主機之間通信的資料包,如圖 3.16 所示,

   在該界面顯示的包同樣是四個完整的 ICMP 包,一個是請求包,一個是回應包,這里分 析 910 幀中 IPv4 首部的詳細資訊,如下所示,

    9 IPv4 首部資訊,如下所示:

Internet Protocol Version 4, Src: 192.168.5.2 (192.168.5.2), Dst: 192.168.6.103 (192.168.6.103)

   Version: 4          #IP 協議版本號     

   Header length: 20 bytes       #首部長度     

   Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))            #服務識別符號     

   Total Length: 60         #總長度     

   Identification: 0x0512 (1298)     #識別符號     

   Flags: 0x00         #標志         

      0... .... = Reserved bit: Not set     #保留位         

      .0.. .... = Don't fragment: Not set     #不進行分片         

      ..0. .... = More fragments: Not set     #更多分片     

   Fragment offset: 0        #分片偏移     

   Time to live: 64         #生存期     

   Protocol: ICMP (1)        #協議     

   Header checksum: 0xe8f5 [validation disabled]     #首部校驗和         

      [Good: False]         

      [Bad: False]     

   Source: 192.168.5.2 (192.168.5.2)   #IP 地址     

   Destination: 192.168.6.103 (192.168.6.103)    #目標 IP 地址     

   [Source GeoIP: Unknown]       #IP 地理位置     

   [Destination GeoIP: Unknown]      #目標 IP 地理位置

   以上包資訊,是主機 PC1 發送給 PC3 IP 包首部資訊,其中,TTL 值為 64

    10 IPv4 首部資訊,如下所示:

Internet Protocol Version 4, Src: 192.168.6.103 (192.168.6.103), Dst: 192.168.5.2 (192.168.5.2)

   Version: 4          #IP 協議版本號     

   Header length: 20 bytes       #首部長度     

   Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))            #服務識別符號     

   Total Length: 60         #總長度     

   Identification: 0xa206 (41478)      #識別符號     

   Flags: 0x00         #標志         

      0... .... = Reserved bit: Not set     #保留位         

      .0.. .... = Don't fragment: Not set     #不進行分片         

      ..0. .... = More fragments: Not set     #更多分片     

   Fragment offset: 0        #分片偏移     

   Time to live: 63         #生存期     

   Protocol: ICMP (1)        #協議     

   Header checksum: 0x4d01 [validation disabled]    #首部校驗和         

      [Good: False]         

      [Bad: False]     

   Source: 192.168.6.103 (192.168.6.103)    #IP 地址     

   Destination: 192.168.5.2 (192.168.5.2)    #目標 IP 地址     

   [Source GeoIP: Unknown]       #IP 地理位置     

   [Destination GeoIP: Unknown]      #目標 IP 地理位置

   以上包資訊,是主機 PC3 發送給 PC1 IP 包首部資訊,從以上資訊中,可以看到該 IPv4 首部中 TTL 值為 63,由此可以說明,PC3 發送回 PC1 的資料包經過了一個路由器,

③ IP 分片資料包分析

   下面以捕獲檔案為例,詳細分析 IP 分片,打開 ip-fragment.pcapng 捕獲檔案,顯示界面如圖 3.17 所示,

 

   在該捕獲檔案中,也是捕獲了四個 ping 包,1~6 幀是一個完整的 ping 包,其中 1~3 幀 是 ping 請求包,4~6 幀是 ping 回應包,也就是說,將第一個 ping 請求包,分為了 1~3 個數 據包,下面將詳細分析 1~3 幀的詳細資訊,

1 幀資料包

    1 幀資料包詳細資訊如圖 3.18 所示,

 

   從該界面的 Packet Details 面板中,可以看到有四行資訊,分別如下所示:

Frame 1: 1514 bytes on wire (12112 bits), 1514 bytes captured (12112 bits) on interface 0

   以上資訊表示第 1 幀資料包的資訊,其大小為 1514 位元組,

Ethernet II, Src: Elitegro_3f:c3:e5 (00:19:21:3f:c3:e5), Dst: Giga-Byt_eb:46:8d (50:e5:49:eb:46:8d)

   以上資訊表示以太網幀頭部資訊,其中源 MAC 地址為 00:19:21:3f:c3:e5,目標 MAC 地 址為 50:e5:49:eb:46:8d

Internet Protocol Version 4, Src: 192.168.5.2 (192.168.5.2), Dst: 192.168.5.4 (192.168.5.4)

   以上資訊表示 IPv4 頭部資訊,在該頭部包括了具體的詳細資訊,展開該行資訊,內容 如下所示:

Internet Protocol Version 4, Src: 192.168.5.2 (192.168.5.2), Dst: 192.168.5.4 (192.168.5.4)     

   Version: 4         #IP 協議版本     

   Header length: 20 bytes      #首部長度     

   Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))           #服務識別符號         

      0000 00.. = Differentiated Services Codepoint: Default (0x00)         

      .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)     

   Total Length: 1500       #總長度    

   Identification: 0x05a3 (1443)     #識別符號     

   Flags: 0x01 (More Fragments)     #標志         

      0... .... = Reserved bit: Not set    #保留位         

      .0.. .... = Don't fragment: Not set    #不能分片,這里的值為 0,表示可以進行 分片         

      ..1. .... = More fragments: Set    #更多分片,這里的值為 1,表示還有分片 的資料包     

   Fragment offset: 0       #分片偏移     

   Time to live: 64        #生存期     

   Protocol: ICMP (1)       #協議     

   Header checksum: 0xc427 [validation disabled]  #首部校驗和         

      [Good: False]         

      [Bad: False]     

   Source: 192.168.5.2 (192.168.5.2)    #IP 地址    

   Destination: 192.168.5.4 (192.168.5.4)   #目標 IP 地址   

   [Source GeoIP: Unknown]      #IP 地理位置    

   [Destination GeoIP: Unknown]     #目標 IP 地理位置     

   Reassembled IPv4 in frame: 3     #重組 IPv4

Data (1480 bytes)        #資料     

   Data: 0800cfd0000100016162636465666768696a6b6c6d6e6f70...     

   [Length: 1480]        #長度為 1480 位元組

   以上資訊是第 1 IPv4 首部的詳細資訊,從以上更多分片和分片偏移域部分,可以判定該資料包是分片資料包的一部分,這是后被分片的資料包,就會有一個大于 0 的分片偏移 或者就是設定了更多標志為,從以上資訊,可以看到更多分片標志位被設定,也就是接收設 備應該等待接收序列中的另一個資料包,分片偏移為 0,表示這個資料包是這一系列分片中 的第一個包,所以,后面至少還有一個包,接下來看第二幀包資訊,以上資訊對應的 IPv4 首部格式中,顯示結果如表 3-3 所示

 

⑵ 第 2 幀資料包

    2 幀資料包詳細資訊如圖 3.19 所示,

 

    Wireshark Packet Details 面板中,可以看到有四行詳細資訊,而且包大小,和第一 個資料包的大小相同,下面將分析該包的詳細資訊,如下所示,

Frame 2: 1514 bytes on wire (12112 bits), 1514 bytes captured (12112 bits) on interface 0

   以上資訊表示,這是第 2 幀的詳細資訊,其中,該包的大小為 1514 個位元組,

Ethernet II, Src: Elitegro_3f:c3:e5 (00:19:21:3f:c3:e5), Dst: Giga-Byt_eb:46:8d (50:e5:49:eb:46:8d)

   以上資訊表示以太網幀頭部資訊,其中,源 MAC 地址為 00:19:21:3f:c3:e5,目標 MAC 地址為 50:e5:49:eb:46:8d

Internet Protocol Version 4, Src: 192.168.5.2 (192.168.5.2), Dst: 192.168.5.4 (192.168.5.4)

以上資訊表示 IPv4 首部的詳細資訊,下面將詳細分析該包中每個欄位的值,如下所示:

Internet Protocol Version 4, Src: 192.168.5.2 (192.168.5.2), Dst: 192.168.5.4 (192.168.5.4)     

   Version: 4         #IP 協議版本     

   Header length: 20 bytes      #首部長度     

   Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))           #服務識別符號         

      0000 00.. = Differentiated Services Codepoint: Default (0x00)         

      .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)     

   Total Length: 1500       #總長度    

   Identification: 0x05a3 (1443)     #識別符號     

   Flags: 0x01 (More Fragments)     #標志         

      0... .... = Reserved bit: Not set    #保留位         

      .0.. .... = Don't fragment: Not set    #不能分片,這里的值為 0,表示可以進行 分片         

      ..1. .... = More fragments: Set    #更多分片,這里的值為 1,表示還有分片 的資料包     

   Fragment offset: 1480       #分片偏移    

   Time to live: 64        #生存期     

   Protocol: ICMP (1)       #協議     

   Header checksum: 0xc36e [validation disabled]  #首部校驗和         

      [Good: False]         

      [Bad: False]     

   Source: 192.168.5.2 (192.168.5.2)    #IP 地址    

   Destination: 192.168.5.4 (192.168.5.4)   #目標 IP 地址   

   [Source GeoIP: Unknown]      #IP 地理位置    

   [Destination GeoIP: Unknown]     #目標 IP 地理位置     

   Reassembled IPv4 in frame: 3     #重組 IPv4

Data (1480 bytes)        #資料     

   Data:  6162636465666768696a6b6c6d6e6f707172737475767761...     

   [Length: 1480]        #長度為 1480 位元組

   根據以上資訊介紹,可以看到在該包的 IPv4 首部也設定了更多分片的標志為,而且可 以看到,這里的分片偏移值為 1480,該值是由最大傳輸單元(MTU1500,減去 IP 首部的 20 個位元組得到的,以上資訊對應到 IPv4 首部格式中,顯示資訊如表 3-4 所示,

IP協議

偏移位

03

47

815

1618

1931

0

4

20

0x00

1500

32

0x05a3

0x01

1480

64

64

ICMP(1)

0xc36e

96

192.168.5.2

128

192.168.5.4

160

 

160192+

1480

⑶ 第 3 幀資料包

    3 幀資料包詳細資訊如圖 3.20 所示,

 

    Wireshark Packet Details 界面可以看到,該包中顯示了四行資訊,并且該包的協議 為 ICMP,下面將詳細分析該包中的資訊,

Frame 3: 82 bytes on wire (656 bits), 82 bytes captured (656 bits) on interface 0

   以上資訊表示這是第 3 幀的詳細資訊,其中包大小為 82 個位元組,

Ethernet II, Src: Elitegro_3f:c3:e5 (00:19:21:3f:c3:e5), Dst: Giga-Byt_eb:46:8d (50:e5:49:eb:46:8d)

   以上資訊表示以太網幀頭部的詳細資訊,其中,源 MAC 地址為 00:19:21:3f:c3:e5,目 標 MAC 地址為 50:e5:49:eb:46:8d

Internet Protocol Version 4, Src: 192.168.5.2 (192.168.5.2), Dst: 192.168.5.4 (192.168.5.4)

   以上資訊表示 IPv4 首部資訊,這里著重分析該部分的詳細資訊,如下所示:

Internet Protocol Version 4, Src: 192.168.5.2 (192.168.5.2), Dst: 192.168.5.4 (192.168.5.4)     

   Version: 4         #IP 協議版本     

   Header length: 20 bytes      #首部長度     

   Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))           #服務識別符號         

      0000 00.. = Differentiated Services Codepoint: Default (0x00)         

      .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)     

   Total Length: 68   #總長度    

   Identification: 0x05a3 (1443)     #識別符號     

   Flags: 0x01 (More Fragments)     #標志         

      0... .... = Reserved bit: Not set    #保留位         

      .0.. .... = Don't fragment: Not set    #不能分片,       

        ..0. .... = More fragments: Not set     #更多分片,  

   Fragment offset: 2960        #分片偏移    

   Time to live: 64        #生存期     

   Protocol: ICMP (1)       #協議     

   Header checksum: 0xe84d [validation disabled]  #首部校驗和         

      [Good: False]         

      [Bad: False]     

   Source: 192.168.5.2 (192.168.5.2)    #IP 地址    

   Destination: 192.168.5.4 (192.168.5.4)   #目標 IP 地址   

   [Source GeoIP: Unknown]      #IP 地理位置    

   [Destination GeoIP: Unknown]     #目標 IP 地理位置     

   [3 IPv4 Fragments (3008 bytes): #1(1480), #2(1480), #3(48)] #三個 IPv4 分片,共 3000 個字 節         

      [Frame: 1, payload: 0-1479 (1480 bytes)]    #1 幀加載了 1480 個位元組         

      [Frame: 2, payload: 1480-2959 (1480 bytes)]   #2 幀加載了 1480 個位元組        

      [Frame: 3, payload: 2960-3007 (48 bytes)]    #3 幀加載了 48 個位元組         

      [Fragment count: 3]        #分片數為 3        

      [Reassembled IPv4 length: 3008]     #重組 IPv4 長度為 3008         

      [Reassembled IPv4 data: 0800cfd0000100016162636465666768696a6b6c6d6e6f70...]              #重組 IPv4 資料

   根據以上資訊的描述,可以看到該資料包沒有設定更多分片標志位,也就表示該資料包 是整個資料流中的最后一個分片,并且其分片偏移設定為 2960,是由 1480+(1500-20)得出 的結果,這些分片可以被認為是同一個資料序列的一部分,因為它們 IP 首部中的標志位于 擁有相同的值,以上資訊對應到 IP 首部格式,如表 3-5 所示

IP協議

偏移位

03

47

815

1618

1931

0

4

20

0x00

68

32

0x05a3

0x00

2960

64

64

ICMP(1)

0xe84d

96

192.168.5.2

128

192.168.5.4

160

 

160192+

 

在該包中最后一行資訊如下所示:

Internet Control Message Protocol

以上資訊表示 ICMP 協議包資訊, 

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/41136.html

標籤:其他

上一篇:STM32F072單片機的低功耗實驗/STOP模式低功耗除錯

下一篇:0020. Valid Parentheses (E)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more