cygwinでtracerouteを取得する方法は?


14

traceroute(tracert)の実装は、WindowsとUnixで異なります。両方をWiresharkと比較したかった。私は現在Windows 7を使用していますが、Unixのtracerouteをすばやく実装したかったのです。

私の最初のアイデアは、MSYSまたはCygwinを使用して取得することでした。「inetutils *」パッケージをチェックしてCygwinをインストールしましたが、tracerouteコマンドと対応する実行可能ファイルがにありません/usr/bin/

また、Cygwinパッケージ検索で「traceroute」を検索しようとしましたが、「zsh」ファイルのリストでこのサブストリングが見つかりました。zshをインストールしてみましたが、結果はtracerouteありtcptracerouteませんでした。

tracerouteのインストールを確認する必要があるパッケージとCygwinのtracerouteはありますか?

回答:


14

何もありませんtracerouteので、CygwinのパッケージにtracertWindows上で常に利用可能です。これについて簡単に説明しているスレッドについては、https://cygwin.com/ml/cygwin/2005-12/msg00443.htmlを参照してくださいtracerouteCygwinを使用するソースからUnixスタイルをコンパイルしてみてください。

WindowsスタイルtracertとUnix スタイルを比較したい場合は、ネットワークスタックが異なるため、UnixまたはLinuxでtraceroute実行tracerouteすることをお勧めします。そのためtraceroute、WindowsでUnixスタイルを実行しても、UnixのUnixスタイルとまったく同じネットワークトレースは得られませんtraceroute


3
pingWindowsにも存在しますが、Cygwinで利用可能です:)とにかく、答えてくれてありがとう。たぶん私はtracerouteCygwin用に手動でコンパイルしようとします。
キリル

4
公平なポイントでありtraceroute、より多くの機能を提供しますtracert
スティーブンキット

4

スティーブン・キットが言ったように、Cygwinにtracerouteバイナリを使用する準備はできていません。それが私が自分でコンパイルしようとした理由です。

最新のtracerouteがあることはわかりますが、その説明から、古いLinuxカーネルでは使用できず、コンパイルが "dccp.h"が欠落しているためにコンパイルが止まり、あきらめました。

古い実装をコンパイルすることはできましたが、TTLを超えるICMP応答を見ることができないように動作します(結果の代わりにアスタリスクがあります):

1 * * *

2 * * *

たぶん、Cygwinで動作するためにいくつかの修正が必要であり、それがCygwin用のtracerouteパッケージがない理由です。

Wiresharkで確認したところ、UDPテストパケットが使用され、対応するICMP応答が正しく配信されていることがわかりました。この古いtracerouteは、Winのようにゆっくりと動作しますtracert(ノードを1つずつ「照会」します)。最新のtracerouteは非常に迅速に結果を提供します。


2

私はmtr手順を使用してCygwin32のポートを構築できました。

https://github.com/traviscross/mtr/

MTRは、代替のオープンソースtracerouteツールです。GUIとNcursesの両方のテキストインターフェイスがあります。それは正確に古典的なtracerouteではありませんが、私はそれが好きです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.