Traceroute(tracert)の実装はWindowsとUnixで異なります。 2つをWiresharkと比較したいです。私は現在Windows 7を使用しており、Unix Tracerouteをすばやく実装したいと思います。
私の最初の考えは、MSYSまたはCygwinを使用して得ることでした。 Cygwinをインストールして「inetutils *」パッケージを確認しましたが/usr/bin/
。
私も「traceroute」を検索してみました。Cygwinパッケージの検索「zsh」ファイルのリストで対応する部分文字列を見つけます。 zshをインストールしましたが、結果がありませんtraceroute
でしたtcptraceroute
。
Tracerouteをインストールするには、どのパッケージを確認する必要があり、CygwinにTracerouteがありますか?
答え1
traceroute
tracert
Windowsで常に使用できるため、Cygwinパッケージにはありません。バラよりhttps://cygwin.com/ml/cygwin/2005-12/msg00443.htmlこの問題を簡単に議論するスレッドです。traceroute
Cygwinを使用してソースからUnixスタイルをコンパイルできます。
tracert
WindowsのバージョンをUnixのバージョンと比較するにはネットワークスタックが異なるため、UnixまたはLinuxで実行することをお勧めtraceroute
します。したがって、WindowsでUnixバージョンを実行すると、UnixのUnixバージョンとまったく同じネットワークトレースは提供されません。traceroute
traceroute
traceroute
答え2
さて、Stephen Kittが言ったように、Cygwinはまだトレースパスバイナリを使用する準備ができていません。だから私は自分でコンパイルしてみました。
そこにいることがわかります近代的な追跡経路しかし、説明によると、以前のLinuxカーネルでは動作しませんでした。
私はコンパイルできます古い実装ただし、TTL以降はICMP応答が表示されないように動作します(結果の代わりにアスタリスクがあります)。
1 ** * *
2 ** * *
Cygwinで動作するにはいくつかの修正が必要な場合があります。これがCygwinにTracerouteパッケージがない理由です。
Wiresharkを確認した結果、UDPテストパケットを使用し、対応するICMP応答が正しく転送されることがわかりました。この古いトレースパスは、Win tracert
(ノードを1つずつ「クエリ」)のように遅く実行されることに注意したいと思います。最新の追跡パスは非常に迅速に結果を提供することができます。
答え3
mtr
次のガイドラインを使用してCygwin32でポートを構築できました。
https://github.com/traviscross/mtr/
MTRは別のオープンソースパス追跡ツールです。 GUIとNcursesのテキストインターフェイスがあります。非常に古典的な追跡経路ではありませんが、私はそれを好みます。