如果我进入终端并输入
ping -c2 -i30 (MY IP ADDRESS)
我获得一个包含 80 个条目的列表,并且我的 ping 统计信息表明有 +78 个重复项。
这是否意味着有两个设备连接到网络?这对我来说似乎很奇怪,因为我使用的是大学 eduroam WiFi,而且应该有比我想象的更多的设备。我只是在寻找一个好心人对新手的好奇心做出解释。
答案1
以下是您可能会看到重复项的一些原因:
- 您意外地 ping 了一个广播或多播地址。
- 您 ping 了一个不属于您自己的有效单播地址,但同一网络上的许多设备都配置了错误的子网掩码,因此它们错误地将您的单播地址视为广播地址。
- 您 ping 了一个不属于您自己的有效单播地址,但您的接口处于 802.11 监控模式,因此它向您显示了一堆通常会被过滤掉的重新传输。
- 您 ping 了一个不属于您自己的有效单播地址,并且您的网络上有一个意外的转发循环,因此您的两个 ping 请求在超时之前分别在网络上循环了 40 次。重复的 TTL 是否显示减少?
如果您真的在 ping 自己的地址,我无法想出一个合理的解释,说明您为什么会看到 78 次重复。您自己的地址应该由您自己的机器内部处理,而不会被放到网络上。嗯,除非您的机器上运行了虚拟机软件,并且它以某种方式在主机操作系统和客户操作系统之间循环。您是否运行任何 VM 软件,例如 VMware、Parallels、VirtualBox、QEMU 等?
答案2
这意味着您收到了多个对 ping 请求的响应,这很可能表明您没有 ping 您的 IP 地址,而是 ping 了广播地址,并且有 40 台设备响应。(您发出了 2 次 ping)。此外,如果您 ping 设备,它们没有义务响应,因此可能会有更多设备。
答案3
当你执行 a 时,ping -c2 <you OWN ip>
你会 ping仅有的您自己的计算机。您不是ping 网络上的所有计算机。您应该只收到 2 次 ping 请求。(我不知道你为什么要这么做,-i30
因为每次 ping 请求之间都要等待 30 秒。)
如果您收到DUP
s 并且您使用的是无线网络(并且您没有 ping 广播 IP),则您的网络可能有问题。
(您不太可能指定广播 IP,因为您需要-b
为此指定)
如果数据包未得到正确验证,则 (无线) 网络会重新发送数据包。当第一个数据包的响应返回时,所有后续 (重新发送) 数据包的响应都将被标记为重复 ( DUP
)。在正常流量中,重复数据包会被丢弃,但在 中ping
它们将可见。
正如您在手册中看到的,您不应该重复,所以您可能需要检查您的网络配置或无线通信是否有问题。
来自man ping
重复和损坏的数据包
ping 将报告重复和损坏的数据包。重复数据包不应该发生,似乎是由不适当的链路级重新传输引起的。重复可能发生在许多情况下,并且很少(如果有的话)是一个好兆头,尽管低水平的重复可能并不总是引起警报。
损坏的数据包显然是引起警报的严重原因,并且通常表示 ping 数据包路径中(在网络或主机中)的某处有硬件损坏。