CygwinでLinux pingを使用する


8

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

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

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

また、manページの説明は、「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バージョンへの参照を見つけることができないようです。

Cygwinの初期バージョンをpingなしで説明するこの古いメールスレッドを見つけました。Windows用に設計されたバージョンのiputilsを見つけていません。

回答:


3

あなたはどちらか

  • ソースからpingをビルドしてみてください。これはiputilsパッケージの一部です。しかし、cygwinでものを構築するのはかなり面倒です。

または(そして私はこれを最初に試します)

  • このようなperl Net :: Pingの perl やCPANの他のpingのような別のping実装を試してください

おかげで、最初のオプションは私にとってはうまくいくようです。望ましい要件の1つは、iputilsバージョンの構文を持っていることです。そのため、別のping実装を試しても役に立たないでしょう。そうは言っても、私がこれに遭遇した最初の人であるとは思えないので、誰かがすでにそれを試みた場合に備えて待ちます。
ケビンフェルメール

ちなみに、iputilsは2年近くタグ付きをリリースしていませんが、gitリポジトリでIPv6をサポートするための開発が行われています。 ipv6.org / gitroot / iputils.git`。それが誰かを助けることを願っています。これが終わったらパッチを投稿します。やらなければならない仕事はかなりありますが、乗り越えられないようには見えません。
ケビンフェルメール

1
Cygwin用のiputilsのビルドにどこかに行ったら、Cygwinコミュニティの他のメンバーもそれを使いたいと強く思うでしょう。
me_and 2012

@me_and-成功した場合は必ずリリースします。ただし、最初のいくつかのファイルは単に変更#include <linux/filename.h>する#include <cygwin/filename.h>などして問題なくコンパイルされましたが、Cygwinソケットドライバーにもiputilsに必要な機能が不足していることがわかりました。Cygwin用にiputilsを構築するだけでなく、iputilsで動作するようにCygwinを構築することも重要です。暇があれば後でやります。
ケビンフェルメール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.