CygwinでLinux pingを使用する

CygwinでLinux pingを使用する

通常のLinux構文でコマンドを使用するスクリプトで作業する必要がありますpingが、CygwinのデフォルトパッケージもWindowsのpingユーティリティも機能しません。今のところ、スクリプトをWindowsバージョンを使用するように修正しました(Windows実行ファイルは有用な戻りコードを提供しないため、出力を解析する必要があります)。しかし、すぐに使用できる互換性と追加機能Linux の ping です。先に進む前に、Cygwin を管理者モードで実行していることを述べておきます。これは権限の問題ではなく、バージョンの問題です。

Cygwin のデフォルトpingコマンドは、セットアップ マネージャーのパッケージ「ping: IP ネットワーク接続をテストするための基本的なネットワーク ツール」にバージョン「1.0-1」としてリストされています。引数がない場合、出力は次のようになります。

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 上で何かを構築するのはかなり面倒です。

または(まずこれを試してみます)

関連情報