tft每日頭條

 > 科技

 > wireshark捕獲ip地址原理

wireshark捕獲ip地址原理

科技 更新时间:2024-09-05 02:23:57

以太網(Ethernet)是一種常見的計算機組網技術,其技術标準在IEEE 802.3中規定。目前廣泛使用的以太網是通過雙絞線(俗稱網線)進行信息交換。那麼這些在以太網鍊路也就是在網線中傳輸的數據包被稱做以太網數據幀。我們知道,所有在互聯網上傳送的數據都以分組即IP數據報為傳送單位,那麼簡單地說當網絡層的IP數據報傳送到數據鍊路層時會在前後分别添加首部和尾部把它封裝成幀,這樣的幀就是數據據鍊路層的數據傳送單元。本文詳細介紹以太網數據幀的結構,并結合數據包分析工具Wireshark捕獲實際網絡中傳輸的數據包,深入理解以太網數據幀。

wireshark捕獲ip地址原理(以太網數據幀結構詳解并結合Wireshark工具深入分析)1

以太網數據幀的結構

以太網數據幀簡稱以太幀,起始部分由前同步碼和幀開始定界符組成,後面緊跟着一個以太網報頭,以 MAC 地址說明目的地址和源地址。以太幀的中部是該幀負載的包含其他協議報頭的數據包,最常見的如 IP 協議。另外以太幀由一個 32 位冗餘校驗碼結尾,用于檢驗數據傳輸是否出現損壞。以太幀結構如下圖所示。

wireshark捕獲ip地址原理(以太網數據幀結構詳解并結合Wireshark工具深入分析)2

上圖中每個字段的含義如下說明:

  • 前同步碼:用來使接收端的網絡适配器在接收 MAC 幀時能夠迅速調整時鐘頻率,使它和發送端的頻率相同。前同步碼為7個字節,其值為1和0交替,即10101010...
  • 幀開始定界符:幀的起始符,為1個字節。其值為:10101011,标志着一個幀的開始,告訴接收端适配器:幀要來了,準備接收。
  • 目的地址:接收幀的網絡适配器的物理地址(MAC 地址),為 6 個字節(48 比特)。作用是當網卡接收到一個數據幀時,首先會檢查該幀的目的地址,是否與當前适配器的物理地址相同,如果相同,就會進一步處理;如果不同,則直接丢棄。
  • 源地址:發送幀的網絡适配器的物理地址(MAC 地址),為 6 個字節(48 比特)。
  • 類型:上層協議的類型,占2個字節。由于上層協議衆多,所以在處理數據的時候必須設置該字段,标識數據交付哪個協議處理。例如,字段為 0x0800 時,表示将數據交付給 網絡層的IP 協議。
  • 數據:也稱為效載荷,表示交付給上層的數據。以太網幀數據長度最小為 46 字節,最大為 1500 字節,最大值也叫最大傳輸單元(MTU)。如果不足 46 字節時,會填充到最小長度。
  • 幀檢驗序列 FCS:檢測該幀是否出現差錯,占 4 個字節(32 比特)。發送方計算幀的循環冗餘碼校驗(CRC)值,把這個值寫到幀裡。接收方計算機重新計算 CRC,與 FCS 字段的值進行比較。如果兩個值不相同,則表示傳輸過程中發生了數據丢失或改變。這時,就需要重新傳輸這一幀。

因此,以上可知以太網數據幀的整體大小在 64~1518 字節之間(不含前導字段7字節和幀起始符1字節)。

Wireshark分析以太幀

打開Wireshark工具找到自己ip對應的網卡抓取一些數據包,這裡以QQ程序傳輸的數據包為例,截圖如下:

wireshark捕獲ip地址原理(以太網數據幀結構詳解并結合Wireshark工具深入分析)3

說明如下:

Frame 3765: 129 bytes on wire (1032 bits), 129 bytes captured (1032 bits) on interface \Device\, id 0: 這句話的意思就是說數據幀号碼3765,捕獲了129個字節,也就是1032位(一字節等于八位),在interface 0上面,也就是在網卡0上面(一個機器可能有多個網卡)。

Ethernet II:以太幀的包頭, 可以清楚地看到裡面包含三個信息:Destination, Source,Type依次對應前面介紹以太幀數據結構的目的地址、源地址、類型,而type類型值為0x0800表示IPv4,也就是說它是一個IP包。

wireshark捕獲ip地址原理(以太網數據幀結構詳解并結合Wireshark工具深入分析)4

Internet Protocol Version 4:第三個就是IP數據包。關于IP數據包格式我們以後在進行介紹,這裡可以看到,這個IP數據包的總長度為115字節。

wireshark捕獲ip地址原理(以太網數據幀結構詳解并結合Wireshark工具深入分析)5

User Datagram Protocol:UDP數據包。這個IP數據包高層傳輸層協議為UDP,也就是說QQ這個應用程序選擇UDP作為通信協議,而不是TCP。關于傳輸層協議也以後再進行介紹。

wireshark捕獲ip地址原理(以太網數據幀結構詳解并結合Wireshark工具深入分析)6

那麼,最後我們可以得出捕獲到的這個以太幀的總長度為129字節,IP數據包的total length是115字節,加上以太幀的包頭(6 6 2=14)14字節,115 14就等于129字節,然而,根據前面介紹以太幀尾部還有四個字節的FCS校驗和。後面的FCS四個字節哪裡去了呢?是不是我們計算錯誤了?顯然我們的計算是正确的,這是因為數據包經過網絡設備,如路由器、交換機等硬件已經把以太幀的校驗做過了,它返回給操作系統的隻有前面的部分,FCS沒有返回給操作系統,所以wireshark也抓不到後面校驗的四個字節,當然,校驗錯誤的以太幀也不會被wireshark所捕獲,所以,我們看到的以太幀都是通多校驗的正确的以太幀。

以上就是以太網數據幀的相關内容并結合wireshark工具加以分析,關于更多網絡知識可以加個關注,另外對Wireshark數據包捕獲分析感興趣的同學可以訂閱專欄内容~

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved