パケットが Linux コンピューターを離れた後にどこに行くのかを把握する必要がある場合は、Linux の traceroute が役に立ちます。
Traceroute は、ほぼすべての Linux ディストリビューションに搭載されている便利なユーティリティで、ネットワーク パケットがネットワーク上を通過するルーターを追跡します。このユーティリティは、トラブルシューティングや簡単なネットワーク計画に便利です。
すべての Linux ディストリビューションに
traceroute
の同じパッケージが含まれているわけではありません 指図。一部のディストリビューションでは、ネットワーク ツール スイートの一部として traceroute を含む従来の inetutils パッケージを使用していますが、最新の traceroute.x86_64 パッケージを使用しているディストリビューションもあります。
関連:Windows 10 (Tracert) で Traceroute を使用する方法
Traceroute パラメータの検査
開始するには、まず Linux の traceroute コマンドで何ができるかを確認しましょう。
ターミナルを開き、コマンド traceroute -?
を入力します マニュアルページにアクセスするには:
Usage: traceroute [OPTION...] HOST
Print the route packets trace to network host.
-f, --first-hop=NUM set initial hop distance, i.e., time-to-live
-g, --gateways=GATES list of gateways for loose source routing
-I, --icmp use ICMP ECHO as probe
-m, --max-hop=NUM set maximal hop count (default: 64)
-M, --type=METHOD use METHOD (`icmp' or `udp') for traceroute
operations, defaulting to `udp'
-p, --port=PORT use destination PORT port (default: 33434)
-q, --tries=NUM send NUM probe packets per hop (default: 3)
--resolve-hostnames resolve hostnames
-t, --tos=NUM set type of service (TOS) to NUM
-w, --wait=NUM wait NUM seconds for response (default: 3)
-?, --help give this help list
--usage give a short usage message
-V, --version print program version
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
Report bugs to .
上記のように、traceroute の動作を微調整するための多くのオプションがあります。
基本的な Traceroute 機能
traceroute を微調整するためのパラメーターはありますが、実際にはすべてのパラメーターが必要なわけではありません。実際、traceroute を実行して、トレース先のホストを指定するだけです。これを行うと、以下に示すように、Linux の traceroute は 60 バイトのパケットを送信し、宛先ホストに到達するために必要なすべてのホップに従います。
パッケージが受信されなくなったことを検出するたびにパケットを 1 つずつ減らす存続時間 (TTL) を使用することで、これらのホップを追跡できます。
traceroute には最大ホップ数があることに注意してください。最大ホップ数は 30 までです。
より正確な追跡のためのスイッチの追加
Linux の traceroute のデフォルト機能はうまく機能しますが、できることはもっとたくさんあります。利用可能な最も人気があり便利なスイッチの多くを取り上げましょう。
ファーストホップ スイッチによるホップの除外
1 つの便利なコマンドは、特定のルーターをトレースから除外します。 -f
の使用 または --first-hop=NUM
パラメータを使用して、特定のルーターを表示から除外できます。これは、1 つまたは複数のルーターが問題を引き起こしていないことが確実な場合に非常に役立ちます。
-f
も使用できます ネットワーク境界を越えて開始するようにトレースを設定して、インターネットでの遅延の考えられる原因を絞り込みます。
次の GIF では、コマンド traceroute -f 3 google.com
を確認できます。 ランニング。このコマンドは最初の 3 つのルーターをスキップするため、ホーム ネットワークと ISP ルーターをバイパスします。最初の 2 つのホップが欠落していることに注意してください。
上記の例のネットワークから www.google.com に到達するには 15 ホップかかります。ご覧ください:
- ホップ数
- トレースされているパスに沿ったルーターのホスト名または IP
- 以前と変わらない応答時間
出力にいくつかの希望のための追加のインターフェースが表示される場合があります。これは予想どおりです。
Max-Hop スイッチによるホップの制限
ここで、最初の 2 つのホップをスキップすることに加えて、ルートの 5 番目のホップまでのパスも必要だとします。そこで -m
を使用します または --max-hop=NUM
パラメータを切り替えます。
traceroute -m 5 -f 3 http://www.google.com
と入力してください を端末に入力し、Enter キーを押します。このコマンドは、潜在的なルーティングの問題を絞り込むのに役立ちます。 Traceroute は最初の 2 つのホップをスキップし、5 番目のホップで停止するようになりました。
-Q スイッチで送信されるプローブ パケットを減らす
Linux の traceroute は、デフォルトで、パス内の各ルーターに 3 つのプローブ パケットを送信します。 traceroute
時間を短縮したいかもしれません 実行する必要があります。 -q
を使用して、各ルーターに送信されるプローブ パケットの数を変更できます。 パラメータ。
traceroute -q -m 5 -f 3 www.google.com
と入力します 端末に入力して Enter を押します .その traceroute
の下に表示されます ホップごとに 1 つの応答時間しか得られないため、1 つのパケットしか送信していません。
増やすこともできます ホップごとに送信されるプローブ パケットの数も、-q
の引数を指定します 以下に示すようにパラメータ。送信されるパケット プローブを増やすと、各ホップへの応答時間を平均化する方法が提供されるため、役立つ可能性があります。
まとめ
Linux の Traceroute に関するこの記事では、この便利なユーティリティの基本的な使い方を学びました。このコマンドでできることは他にもたくさんあります。すべてのスイッチの使用方法を知りたい場合は、man ページを確認してください。