用sniffer抓icmp包來分析

2021-04-09 07:21:32 字數 1076 閱讀 7857

用sniffer抓icmp包來分析。

1。ping 192.168.1.1 -l 0

ping乙個ip,指定攜帶的資料長度為0

抓包分析如圖:

從圖上的1處我們可以看到這個資料總大小是:60byte

從2處看到ip資料總長度:28byte

ip資料為什麼是28byte?

因為ip頭部是20個位元組(4處標記的),而icmp頭部是8個位元組,因為我們的ping是指定資料長度為0的 ,所以icmp裡不帶額外資料,即:

28=20+8

而我們知道乙太網型別幀頭部是 6個位元組源位址+6個位元組目標位址+2個位元組型別=14位元組

乙太網幀頭部+ip資料總長度=14+28=42

注意3處標記的,填充了18個位元組。

42+18=60

剛好等於總長度,其實這裡我們需要注意到這裡捕捉到幀不含4個位元組的尾部校驗,如果加上4位元組尾部校驗,正好等於64!

64恰好是以太型別幀最小大小。

在圖中我們還可以看到 這個幀沒有分割,flags=0x,因為不需要分割。

再分析乙個

ping 192.168.1.1 -l 64

資料大小106byte

106-14(以太型別幀頭部)=92

剛好等於ip部分的顯示大小

92-20(ip)-8(icmp頭)=64

剛好等於我們指定的64位元組ping 包

乙太網幀實際承載資料部分最大為1500,這裡面還包含其他協議的報頭,所以實際承載資料肯定小於1500,如果ping 192.168.1.1 -l 1500,那麼資料必要會被分割,但計算方法還是一樣的,只是需要特別注意,後續幀無需包含第乙個幀所包含的icmp報頭。

所以第乙個幀的大小會是 1500(實際資料部分大小,含ip和icmp報頭)+14(以太型別幀頭部)=1514,在第乙個幀裡實際攜帶了多少資料的是1500-20(ip 報頭)-8(icmp報頭)=1472,剩餘28bytes資料會在後續幀中

後續幀大小:14(以太型別頭)+20(ip頭)+28(實際資料)=62

注意上面的計算我們都不計算尾部4位元組校驗的。可以實際抓包驗證上面的分析。 

ICMP協議及其抓包分析

internet訊息控制協議 icmp 指定了多種訊息型別,其目的就是管理網路。icmp的訊息分為錯誤資訊 請求資訊和響應訊息。一般icmp資料報格式 icmp資料報型別欄位和 字段 wireshark抓包分析 資料鏈路層 網路層 1.響應請求 ping命令 響應請求 type 8 和應答請求 ty...

抓包工具sniffer 九點之BLE抓包1

今年咱們聊聊抓取ble的空中包的環境。就是抓取藍芽在通訊中或廣播在大氣中的資料,這些資料分析分析則能更容易理解藍芽通訊協議!此方案實測已支援nordic,ti,csr,bk博通整合等ble方案的藍芽裝置。開發版 nrf52832開發版 軟體 1.wireshark的兩個配置檔案2.nrf52832 ...

tcpdump 抓包讓wireshark來分析

在linux下面用tcpdump 抓包非常方便,但是抓的包要提取出來進行分析,還是得用wireshark來過濾分析比較方便。下面先介紹一下 tcpdump 的使用 例 tcpdump host 172.16.29.40 and port 4600 x s 500 tcpdump採用命令列方式,它的命...