为什么 ping 程序打印速度这么慢?

为什么 ping 程序打印速度这么慢?

我有一台 Raspberry Pi 作为网关,地址为 10.0.0.2,并有一些自定义的iptables透明代理规则。我的 Netgear 路由器地址为 10.0.0.1,DHCP 已禁用。

互联网访问(例如浏览网页)一切正常。但是当我从我的 MacBook 上 ping 时,程序ping会停留在下面一行大约 30 秒。(听起来像超时参数?)

$ ping -v -c 1 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes

但是,我可以看到从 wireshark 捕获中几乎立即返回的 ICMP 回复消息(包括来自 raspi 的 ICMP 重定向,如果相关的话),如下所示。请注意,第二列(1064.xxx 数字)是时间。我将其解释为回复到达我的 MacBook 大约需要 0.04 秒。

在此处输入图片描述

尽管如此,如上所述,该ping程序只会在大约 30 秒后继续打印出以下 ping 结果(包括重定向消息)。

$ ping -v -c 1 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
92 bytes from 10.0.0.2: Redirect Host(New addr: 10.0.0.1)
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 0054 63cd   0 0000  3f  01 fd9e 10.0.0.46  8.8.8.8

64 bytes from 8.8.8.8: icmp_seq=0 ttl=52 time=23.504 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 23.504/23.504/23.504/0.000 ms

相关内容