加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

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

发布时间:2021-03-15 03:14:54 所属栏目:Linux 来源:网络整理
导读:我已经静态配置了服务器上接口的IP地址: ip addr add 10.40.0.6/16 broadcast 10.40.255.255 dev eth1 如果我尝试ping网络上的计算机(例如,10.40.0.1),则会因“目标主机无法访问”而失败. 当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解析失败.

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读