无法将 ping 间隔设置为较小的值

无法将 ping 间隔设置为较小的值

我正在使用内核为 4.8.0-46-generic 的 Ubuntu 14.0.4 LTS。我尝试 ping 对等设备,ping 间隔小于 1 秒(例如 0.2 秒),但无法做到这一点。我收到以下错误:

ping: bad timing interval

我以 sudo 模式执行 ping 但仍然没有成功。有人遇到过这个问题吗?

注意:我尝试在具有内核 4.2.0 的另一台设备上进行操作,并且它在 sudo 模式下工作。

答案1

ping 手册指出只有超级用户可以将间隔设置为小于 0.2 秒。

   -i interval
          Wait  interval seconds between sending each packet.  The default
          is to wait for one second between each packet normally,  or  not
          to  wait in flood mode. Only super-user may set interval to val‐
          ues less than 0.2 seconds.

我在干净的 14.04 安装上尝试了这一点,0.2 以下间隔只对超级用户有效,这是为了阻止来自非特权用户的 ping 泛滥。

答案2

就我而言,ping 使用当前语言环境来解释间隔值:ping -i 0.3 <ip>不起作用但ping -i 0,3 <ip>确实有效。

这个错误ping -i 中的小数分隔符取决于语言环境从 2015 年起,Fedora 的 bugzilla 就表示这是一个 bug(我同意:脚本不应该根据系统的语言环境改变行为)

此错误影响 Ubuntu 20.04(已报告这里

答案3

使用命令尝试

sudo ping XXX.XXX.XXX.XXX -A

此命令会尽快发送数据包,您还有更多选项这里

答案4

尝试使用大写

sudo ping -I eth1 111.111.111.111

相关内容