利用Wireshark截取ICMP數據包,并對數據包進行解析
解壓文件之后,在/wireshark-win32-1.4.9中文版/文件夾中找到安裝文件,雙擊即可安裝。
安裝完成之后,雙擊wireshark圖標即可啟動,界面如下:

抓包步驟:
1、點擊開始按鈕列出可以抓包的接口:


2、點擊選項可以配置抓包參數:

3、配置完成點擊開始,即可開始抓包:

4、點擊停止完成抓包。
抓包界面分析:
抓包結果整個窗口被分成三部分:
1、最上面為數據包列表,用來顯示截獲的每個數據包的總結性信息;
2、中間為協議樹,用來顯示選定的數據包所屬的協議信息;
3、最下邊是以十六進制形式表示的數據包內容,用來顯示數據包在物理層上傳輸時的最終形式。
數據包列表中,第一列是編號(如第1個包),第二列是截取時間(0.000000),第三列source是源地址(115.155.39.93),第四列destination是目的地址(115.155.39.112),第五列protocol是這個包使用的協議(這里是UDP協議),第六列info是一些其它的信息,包括源端口號和目的端口號(源端口:58459,目的端口:54062)。
協議樹可以得到被截獲數據包的更多信息,如主機的MAC地址(Ethernet II)、IP地址(Internet
protocol)、UDP端口號(user datagram protocol)以及UDP協議的具體內容(data)。
分析ICMP協議數據包
實驗原理:
ping是用來測試網絡連通性的命令,一旦發出ping命令,主機會發出連續的測試數據包到網絡中,在通常的情況下,主機會收到回應數據包,ping采用的是ICMP協議。
實驗步驟:
點擊開始抓包,為了抓取使用ICMP的包,我們要設置過濾條件,點擊“選項”:

再點擊“抓包過濾”按鈕:

因此初始狀態下沒有只抓取ICMP協議包的過濾條件,因此我們點擊新建按鈕:

在過濾名字和過濾條件中分別輸入“ICMP only”(自定義),“icmp”,點擊確定:
這是可以看到抓包過濾按鈕后面的文本框出現了ICMP字樣,說明過濾條件設置成功:

點擊開始,發現現在抓取不到任何包:

打開命令行窗口,執行命令:ping www.baidu.com:

這時可以看到數據包抓取頁面抓取到了8包,與命令行顯示的已發送和已接受的包的數量是一致的:

選擇任意一個包查看詳細信息:

可以看到ICMP報文的格式為:

在這個試驗中,可以發現,icmp的報文就只有兩種,請求和應答:
請求:

新聞熱點
疑難解答
圖片精選