利用Wireshark截取ICMP数据包,并对数据包进行解析
- 软件名称:
- Wireshark(网络过滤抓包) v1.4.9 免费安装中文版(附使用教程)
- 软件大小:
- 22.5MB
- 更新时间:
- 2014-06-30
安装步骤:
解压文件之后,在\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的报文就只有两种,请求和应答:
请求: