在 Cygwin 中使用 Linux ping

在 Cygwin 中使用 Linux ping

我需要使用一個腳本,該腳本使用ping普通 Linux 語法的命令,Cygwin 的預設套件或 Windows ping 實用程式都不起作用。現在,我已經修補了腳本以使用 Windows 版本(有一些困難;Windows 可執行檔不提供有用的回傳程式碼,因此我必須解析輸出),但我想要out-of-the-盒子相容性和附加功能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 的引用之外,我似乎找不到對 ping 的 cygwin 版本的引用。

我發現這個古老的電子郵件線程它描述了沒有 ping 的 Cygwin 早期版本。我還沒有找到任何專為 Windows 設計的 iputils 版本。

答案1

你可以

  • 嘗試從原始碼建構 ping,它是iputils 包。但在 cygwin 上建立東西可能會很麻煩。

或者(我會先嘗試這個)

相關內容