在 Cygwin 中使用 Linux ping

在 Cygwin 中使用 Linux ping

我需要使用一个使用该ping命令及其普通 Linux 语法的脚本,Cygwin 的默认包或 Windows ping 实用程序都无法工作。目前,我已经修补了脚本以使用 Windows 版本(有些困难;Windows 可执行文件不提供有用的返回代码,因此我必须解析输出),但我希望开箱即用的兼容性和附加功能Linux ping。在进一步讨论之前,我要声明一下,我是在管理员模式下运行 Cygwin 的;这不是权限问题。这是版本问题。

Cygwin 的默认ping命令在安装管理器中被列为版本“1.0-1”,位于“ping:用于测试 IP 网络连接的基本网络工具”包中。如果不带参数,它会输出:

Usage:  ping [-dfqrv] host [packetsize [count [preload]]]

手册页描述以以下内容开头:“DARPA 互联网是一个庞大而复杂的网络硬件集合。”,对我来说,它有点过时了。这是安装的版本/bin/ping

Windows 的ping命令位于$SYSTEMROOT/system32/ping,并且在没有参数调用时输出以下消息。

Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
        [-r count] [-s count] [[-j host-list] | [-k host-list]]
        [-w timeout] target_name

这当然是一个功能更丰富的 ping(值得注意的是,它包括超时,这对我来说很重要),但它不是现代 Linux 安装上可用的版本:

ping [ -LRUbdfnqrvVaAB] [ -c count] [ -i interval] [ -l preload] [ -p pattern] 
     [ -s packetsize] [ -t ttl] [ -w deadline] [ -F flowlabel] [ -I interface] 
     [ -M hint] [ -Q tos] [ -S sndbuf] [ -T timestamp option] [ -W timeout] 
     [ hop ...] destination

在线记录这里。除了参考 Cygwin 之外,我似乎找不到对 cygwin 版本 ping 的引用。

我发现这个古老的电子邮件线索它描述了没有 ping 的早期版本的 Cygwin。我还没有找到任何为 Windows 设计的 iputils 版本。

答案1

你可以

  • 尝试从源代码构建 ping,它是iputils 包。但是在 cygwin 上构建东西可能相当麻烦。

或者(我会先尝试这个)

相关内容