linux – 在本地网络上ping不存在的主机时接口上的tcpdump

前端之家收集整理的这篇文章主要介绍了linux – 在本地网络上ping不存在的主机时接口上的tcpdump前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经静态配置了服务器上接口的IP地址:
ip addr add 10.40.0.6/16 broadcast 10.40.255.255 dev eth1

如果我尝试ping网络上的计算机(例如,10.40.0.1),则会因“目标主机无法访问”而失败.

当ping运行时,如果我执行以下操作,我根本看不到任何活动

tcpdump -i eth1 icmp

但是,如果我在环回接口上侦听:

tcpdump -i lo icmp

然后我看到类似的东西:

16:02:57.369632 IP 10.40.0.6 > 10.40.0.6: ICMP host 10.40.0.1 unreachable,length 92

我的问题是:为什么ICMP数据包不会出现在eth1接口上?

编辑:

# ip r ls
10.40.0.0/16 dev eth1 proto kernel scope link src 10.40.0.6

解决方法

如果您正在ping不存在的主机,则ARP广播将失败. Tcpdump永远不会看到icmp,因为eth1不会发送没有第2层目的地的单播IP数据包.

试试这个:

tcpdump -i eth1 arp

您应该看到ARP解析失败.

原文链接:https://www.f2er.com/linux/397963.html

猜你在找的Linux相关文章