加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 来自ping的奇怪结果

发布时间:2020-12-14 02:32:58 所属栏目:Linux 来源:网络整理
导读:当我在Ubuntu盒子上运行它时: sudo ping google.com -c 25 -l 25 尽管它应该(如果我正确地读取内容)在发送时发送所有25个数据包,我每2秒返回约1行.奇怪的是,它声称我得到了ping时间: --- google.com ping statistics ---25 packets transmitted,24 receive
当我在Ubuntu盒子上运行它时:
sudo ping google.com -c 25  -l 25

尽管它应该(如果我正确地读取内容)在发送时发送所有25个数据包,我每2秒返回约1行.奇怪的是,它声称我得到了ping时间:

--- google.com ping statistics ---
25 packets transmitted,24 received,4% packet loss,time 0ms
rtt min/avg/max/mdev = 23.370/28.067/32.902/2.895 ms,pipe 24

另外,如果我想提前保释,我需要为每个数据包打一次ctrl-C.有没有人知道可能导致这种情况的原因?

解决方法

如果通过IP ping而不是hostname,则会收到预期的行为.

我仍在调查,以了解为什么会这样.

# find IP address of host
$host -t a google.com
google.com has address 74.125.225.17
google.com has address 74.125.225.19
google.com has address 74.125.225.20
google.com has address 74.125.225.18
google.com has address 74.125.225.16

# pick an IP and ping it,all output is displayed at once
$sudo ping 74.125.225.17 -c 25 -l 25
PING 74.125.225.17 (74.125.225.17) 56(84) bytes of data.
64 bytes from 74.125.225.17: icmp_seq=1 ttl=55 time=29.7 ms
64 bytes from 74.125.225.17: icmp_seq=2 ttl=55 time=30.4 ms
64 bytes from 74.125.225.17: icmp_seq=3 ttl=55 time=40.0 ms
64 bytes from 74.125.225.17: icmp_seq=4 ttl=55 time=40.4 ms
64 bytes from 74.125.225.17: icmp_seq=7 ttl=55 time=50.1 ms
64 bytes from 74.125.225.17: icmp_seq=5 ttl=55 time=50.4 ms
64 bytes from 74.125.225.17: icmp_seq=6 ttl=55 time=51.4 ms
64 bytes from 74.125.225.17: icmp_seq=8 ttl=55 time=52.4 ms
64 bytes from 74.125.225.17: icmp_seq=9 ttl=55 time=55.4 ms
64 bytes from 74.125.225.17: icmp_seq=10 ttl=55 time=56.4 ms
64 bytes from 74.125.225.17: icmp_seq=11 ttl=55 time=57.3 ms
64 bytes from 74.125.225.17: icmp_seq=13 ttl=55 time=58.3 ms
64 bytes from 74.125.225.17: icmp_seq=12 ttl=55 time=59.3 ms
64 bytes from 74.125.225.17: icmp_seq=14 ttl=55 time=60.3 ms
64 bytes from 74.125.225.17: icmp_seq=15 ttl=55 time=61.9 ms
64 bytes from 74.125.225.17: icmp_seq=16 ttl=55 time=62.3 ms
64 bytes from 74.125.225.17: icmp_seq=17 ttl=55 time=63.2 ms
64 bytes from 74.125.225.17: icmp_seq=18 ttl=55 time=64.2 ms
64 bytes from 74.125.225.17: icmp_seq=19 ttl=55 time=68.9 ms
64 bytes from 74.125.225.17: icmp_seq=20 ttl=55 time=69.2 ms
64 bytes from 74.125.225.17: icmp_seq=21 ttl=55 time=70.2 ms
64 bytes from 74.125.225.17: icmp_seq=22 ttl=55 time=75.9 ms
64 bytes from 74.125.225.17: icmp_seq=23 ttl=55 time=76.2 ms
64 bytes from 74.125.225.17: icmp_seq=24 ttl=55 time=77.2 ms
64 bytes from 74.125.225.17: icmp_seq=25 ttl=55 time=78.1 ms

UPDATE

通过strace运行ping后,我发现它在名称解析时被挂起(毫不奇怪).然而,引起我注意的是avahi-daemon.该服务实现了Apple的Zeroconf架构(也称为“Rendezvous”或“Bonjour”).换句话说,我不需要的功能.

停止avahi-daemon后,ping行为恢复正常.

# sudo /etc/init.d/avahi-daemon stop

在启动期间禁用它可以通过以下方式完成:

# sudo update-rc.d -f avahi-daemon

另一种解决方法是使用-n标志和ping.挂断是在处理回复时执行的反向DNS查找.

(编辑:李大同)

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

    推荐文章
      热点阅读