您的位置:首页 > 其它

ICMP协议数据包捕获

2016-05-23 11:22 183 查看
今天使用wireshark调试一个PING功能,使用icmp过滤串,发现ping本地子网一个不存在的IP地址,wireshark没有捕获到任何的icmp数据包。而当ping另外一个子网不存在的IP地址,wireshark捕获到了ICMP数据。分析如下:

一. ping本地子网的IP地址

1. 获取目标IP的Mac地址(ARP协议),若没有获取到目标IP的Mac地址,Ping失败

2. 若获取目标IP的Mac地址成功,设置以太网头的源mac地址及目的mac地址分别为源IP的mac地址和目标IP的mac地址,发送ICMP数据包。

二. ping不同子网的IP地址

1. 获取网关IP的Mac地址(ARP协议),若没有获取到目标IP的Mac地址,Ping失败

2. 若获取网关IP的Mac地址成功,设置以太网头的源mac地址及目的mac地址分别为源IP的mac地址和网关IP的mac地址,发送ICMP数据包。

因为ping本地子网一个不存在的IP地址时首先发送ARP获取Mac地址,而我设置wireshark的过滤串为icmp,所以没有察觉到arp数据。而获取mac地址失败,故不会再发送icmp数据。
另外需要记住icmp协议也为ip协议,与tcp、udp为同级协议。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: