【问题标题】:Linux ping broadcast switchLinux ping 广播开关
【发布时间】:2010-09-23 21:51:33
【问题描述】:

在几乎所有可用的 UNIX 系统上使用 ping 时,ping 广播地址很简单:

$ ping 192.168.11.255

但是,在 Linux 上执行此操作时,会出现非标准(并且一直很烦人!)响应:

$ ping 192.168.11.255
Do you want to ping broadcast? Then -b

自从我第一次看到它以来,这一直让我烦恼不已——Linux ping 以前不是这样的。我搜索了这个开关的来源,但找不到它什么时候进入的,也找不到任何关于为什么需要它的讨论。

这个开关似乎还不够:

$ ping -b 192.168.11.255
WARNING: pinging broadcast address
PING 192.168.11.255 (192.168.11.255) 56(84) bytes of data.
64 bytes from 192.168.11.22: icmp_seq=1 ttl=64 time=0.225 ms

这真的有必要吗?编写一个修复 Linux ping 的补丁是非常诱人的,所以它应该像它应该的那样工作......

我不敢相信没有其他人对此投诉过,但如果他们投诉了,我在 Google 上也找不到。

【问题讨论】:

  • 我同意。我也很好奇为什么要添加这个。
  • 您需要三思而后行,以免数百台机器回复 ICMP 数据包而阻塞网络。
  • 这应该在 superuser.com....

标签: linux broadcast ping


【解决方案1】:

你可以放

alias ping='ping -b'

在您的.bashrc 文件中:-)

【讨论】:

  • 我认为这个问题更像是为什么开关存在于首位。
  • 马蒂是对的。此外,-b 开关仅在地址为广播地址时才有效;否则,将显示使用情况。
  • @Matti:是的,我知道问题是关于添加-b 开关的原因,而不是解决方法! @大卫:在这里工作。正如我从 ping 源代码 (linux-ipv6.org/gitweb/gitweb.cgi?p=gitroot/…) 中了解的那样,它只允许通过设置套接字选项进行广播。不过,我想它可能不适用于某些系统。
【解决方案2】:

我可以想象一种情况,这可能会很有用。如果您在网络上配置的广播地址不是所有主机位都为 1 的地址。因此,如果没有这样的提示,您可能会意外地 ping 广播地址。我猜这很糟糕。

【讨论】:

    猜你喜欢
    • 2012-01-27
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多