【愚公系列】2022年02月 wireshark系列-数据抓包分析之ICMP协议01
一、数据抓包分析之ICMP协议01
任务描述:获取正常的ICMP数据包、请求超时的数据包、主机不可达的数据包
一、捕获正常的ICMP数据包
在这里,我们通过ping命令来获取,先启动Wireshark,并在Filter里输入icmp进行过滤,如下:
使用测试者机器,ping服务器的IP,如下:
以上输出的信息就是ping命令运行后的结果。在Windows操作系统中,ping默认响应4个数据包。执行完以上命令后,返回到Wireshark界面,如下:
从该界面可以很清楚的看到,现在捕获到了ICMP协议数据包。在Wireshark的状态栏中,可以看到共捕获了8个数据包。这是因为包括4个ping请求包和4个ping相应包。在Windows和Linux下执行ping命令后,只能看到响应的数据包。所以,在前面仅看到了4个数据包。
在前面介绍ICMP协议时,提到ICMP协议实际是用来判断网络的链接情况的,如网络不通、目标主机不可达、请求超时等。通过Wireshark都可以详细分析这些数据包。上面的数据包是网络正常通行情况下的数据包,下面来介绍捕获一些出错的数据包。
二、捕获请求超时和主机不可达的数据包
当网络连接性不好时,执行ping命令,通常会返回请求超时的数据包,默认情况下ping命令发出的Echo ping请求后,如果2秒内没有收到Echo ping 响应的话,就会收到请求超时的数据包。下面演示捕获请求超时的数据包,
启动Wireshark,并配置过滤icmp条件,与前面相同,此时通过执行tracert命令,捕获响应超时的数据包,如下
(执行tracert命令,需要等待一段时间,且每次的结果可能不一致,我们主要看Wireshark获取到的数据包即可)
执行以上命令后,Wireshark将捕获到相关的数据包。在以上命令中,tracert是一个路由跟踪命令。所以,如果访问一个互联网地址(4.2.2.1),会经过好多个路由,这时候也就容易产生响应超时和主机不可达的数据包。另外需要注意的是,tracert命令执行后,会根据当时的网络情况,出现不同的信息显示,这里不多介绍此命令。
返回到Wireshark主界面,停止Wireshark捕获数据包,如下
从Wireshark的Packet List面板中的info列中可以看到某些包的信息为Time-to-live execded(超时),这表示该包响应超时。信息为Destination unreachable ,表示为目标不可达的帧数据。
这里给大家简单科普下目标主机不可达的一般情况:当中间路由器不能给数据包找到路由器或目的主机不能交付数据包时,中间路由器或目的主机将会丢弃这个数据包。然后,发送这个数据包的源点发送目标主机不可达的报文。由此可以知道,其他方法也可以获取目标主机不可达的数据包,比如ping一个不存在的主机等方法,这里就不过多介绍。
- 点赞
- 收藏
- 关注作者
评论(0)