用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採用命令列方式,它的命...