Linux用のTracerouteコマンド
知っておくべきこと
- tracerouteコマンドに含める必要のあるパラメータは、宛先のホスト名またはIPアドレスのみです。
- TTLが1のプローブを開始し、ICMPの「ポートに到達できません」になるか、試行の最大値に達するまで1ずつ増やします。
この記事では、Linuxマシンに適用可能なtraceroute情報について説明し、コマンドスイッチの説明と結果の解釈方法に関する情報を示します。 Tracerouteは、Windowsでは使用方法が異なります。
Tracerouteの仕組み
tracerouteコマンドは、情報のパケットが送信元から宛先までに実行する移動をマップします。 tracerouteの用途の1つは、ネットワーク全体でデータ損失が発生した時期を特定することです。これは、ノードがダウンしていることを示している可能性があります。
レコード内の各ホップは、発信元のPCと目的のターゲット間の新しいサーバーまたはルーターを反映しているため、tracerouteスキャンの結果を確認すると、ネットワークトラフィックに悪影響を与える可能性のある低速ポイントが特定されます。
Tracerouteを使用したトラブルシューティング
ネットワークトラフィックがたどる特定のルートを評価する(またはパケットを破棄している悪意のあるゲートウェイを見つける)ことは、いくつかのトラブルシューティングの課題を提示します。 Tracerouteは、IPプロトコルの存続時間を使用します 宛先ホストへのパスに沿って各ゲートウェイからICMPTIME_EXCEEDED応答を要求するフィールド。
tracerouteコマンドを実行するときに含める必要がある唯一のパラメーターは、宛先のホスト名またはIPアドレスです。
Tracerouteの構文とスイッチ
Tracerouteは、次の一般的な構文に従います。
traceroute [ -dFInrvx ] [ -f first_ttl ] [ -g gateway ] [ -i iface ] [ -m max_ttl ] [ -p port ] [ -q nqueries ] [ -s src_addr ] [ -t tos ] [ -w waittime ] [ -z pausemsecs ] host [ packetlen ]
1つまたは複数のオプションのスイッチを指定することにより、コマンドのパフォーマンスまたは出力を変更できます。
結果の解釈
Tracerouteは、小さなTTLでUDPプローブパケットを起動し、ゲートウェイからのICMP「timeexceeded」応答をリッスンすることにより、IPパケットがインターネットホストまでたどるパスの概要を示します。 TTLが1のプローブを開始し、ICMPの「ポート到達不能」(パケットが宛先に到着したことを意味します)を取得するか、試行の最大値に達するまで1ずつ増やします。これは、デフォルトで30ホップであり、<で変更できます。強い>-m フラグ。
tracerouteが実行されると、各TTL設定で3つのプローブが送信され、TTL、ゲートウェイのアドレス、および各プローブのラウンドトリップ時間を示す行がコンソールに出力されます。プローブの回答が異なるゲートウェイからのものである場合、応答する各システムのアドレスが出力されます。 tracerouteが5秒以内に応答を受信しない場合( -w で変更) フラグ)、そのプローブのアスタリスクを出力します。
UDPプローブパケット処理が宛先ホストを圧倒するのを防ぐために、tracerouteは宛先ポートをデバイスが使用する可能性が低い値に設定します。宛先のネットワークまたはサービスがそのポートを使用している場合は、 -pを使用して値を変更します フラグ。
Tracerouteの結果の例
サンプルの使用と出力は、次の例のような結果を返します。
[yak 71]% traceroute nis.nsf.net.
traceroute to nis.nsf.net (35.1.1.48), 30 hops max, 38 byte packet
1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms
2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 39 ms
5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms
6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms
7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms
8 129.140.70.13 (129.140.70.13) 99 ms 99 ms 80 ms
9 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms
10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms
11 nic.merit.edu (35.1.1.48) 239 ms 239 ms 239 ms
2行目と3行目は同じです。この結果は、TTLがゼロのパケットを転送するセカンドホップシステムのバグのあるカーネル(lbl-csam.arpa)に関連しています(4.3 BSDの分散バージョンのバグ)。 NSFNet(129.140)はNSSのアドレスから名前への変換を提供しないため、パケットがクロスカントリーを通過するパスを推測する必要があります。
サイレントゲートウェイの例
さらに興味深い例は次のとおりです。
[yak 72]%tracerouteallspice.lcs.mit.edu。
traceroute to allspice.lcs.mit.edu(18.26.0.115)、最大30ホップ
1helios.ee.lbl。 gov(128.3.112.1)0 ms 0 ms 0 ms
2 lilac-dmc.Berkeley.EDU(128.32.216.1)19 ms 19 ms 19 ms
3 lilac-dmc.Berkeley.EDU(128.32。 216.1)39ミリ秒19ミリ秒19ミリ秒
4 ccngw-ner-cc.Berkeley.EDU(128.32.136.23)19ミリ秒39ミリ秒39ミリ秒
5 ccn-nerif22.Berkeley.EDU(128.32.168.22) 20ミリ秒39ミリ秒39ミリ秒
6128.32.197.4(128.32.197.4)59ミリ秒119ミリ秒39ミリ秒
7 131.119.2.5(131.119.2.5)59ミリ秒59ミリ秒39ミリ秒
8 129.140 .70.13(129.140.70.13)80 ms 79 ms 99 ms
9 129.140.71.6(129.140.71.6)139 ms 139 ms 159 ms
10 129.140.81.7(129.140.81.7)199 ms 180 ms 300 ms
11 129.140.72.17(129.140.72.17)300 ms 239 ms 239 ms
12 * * *
13 128.121.54.72(128.121.54.72)259 ms 499 ms 279 ms
14 * * *
15 * * *
16 * * *
17 * * *
18 ALLSPICE.LCS.MIT.EDU(18.26.0.115)339ミリ秒279ミリ秒279ミリ秒
12、14、15、16、および17ホップ離れたゲートウェイは、ICMP「timeexceeded」メッセージを送信しないか、TTLが小さすぎて到達できないメッセージを送信しないことに注意してください。 14行目から17行目は、「時間を超えました」というメッセージを送信しないMITCゲートウェイコードを実行しています。
上記の例のサイレントゲートウェイ12は、4。[23] BSDネットワークコードとその派生物のバグの結果である可能性があります。4.3コード以前を実行しているマシンは、元のデータグラムに残っているTTLを使用して到達不能メッセージを送信します。ゲートウェイの場合、残りのTTLはゼロであり、ICMPの「時間を超えた」とは戻らないことが保証されています。
宛先システムのサイレントゲートウェイの例
このバグの動作は、宛先システムに表示されたときに少し興味深いものになります。
1 helios.ee.lbl.gov(128.3.112.1)0 ms 0 ms 0 ms
2 lilac-dmc.Berkeley.EDU(128.32.216.1)39 ms 19 ms 39 ms
3 lilac-dmc.Berkeley.EDU(128.32.216.1)19 ms 39 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU(128.32.136.23)39 ms 40 ms 19 ms
5 ccn- nerif35.Berkeley.EDU(128.32.168.35)39 ms 39 ms 39 ms
6 csgw.Berkeley.EDU(128.32.133.254)39 ms 59 ms 39 ms
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 rip.Berkeley.EDU(128.32.131.22) 59ミリ秒! 39ミリ秒! 39ミリ秒!
12個の「ゲートウェイ」が存在し(13個が最終目的地)、それらの後半が欠落していることに注意してください。実際に起こっているのは、 ripという名前のサーバーです。 (Sun OS 3.5を実行しているSun-3)は、到着したデータグラムのTTLをICMP応答のTTLとして使用しています。したがって、パス長の少なくとも2倍のTTLでプローブするまで、応答はリターンパスでタイムアウトになります(ICMPはICMPに送信されないため、誰にも通知は送信されません)。つまり、リップは実際には7つだけです。飛び跳ねます。
TTLが1で返される応答は、この問題が存在する手がかりです。 Tracerouteは!を出力しますTTLが1以下の場合、ベンダーは廃止された(DECのUltrix、Sun 3.x)または非標準(HPUX)ソフトウェアを多数出荷しているため、この問題が頻繁に発生することを想定し、慎重に選択してください。プローブのターゲットホスト。
時間が経過した後のその他の可能な注釈は、!Hです。 、!N 、または!P (ホスト、ネットワーク、またはプロトコルに到達できません)、!S (ソースルートが失敗しました)、!F- (断片化が必要です。RFC1191パスMTUディスカバリーの値が表示されます)、!X (通信は管理上禁止されています)、!V (ホストの優先順位違反)、!C (優先カットオフが有効)、または! (ICMP到達不能コード)。これらのコードは、RFC1716に優先するRFC1812によって定義されています。ほとんどすべてのプローブが何らかの到達不能なホストになる場合、tracerouteはあきらめて終了します。
このプログラムは、ネットワークのテスト、測定、および管理での使用を目的としています。これは、主に手動の障害分離に使用する必要があります。ネットワークに負荷がかかる可能性があるため、通常の操作中または自動化されたスクリプトからtracerouteを使用することは賢明ではありません。
-
Linux用の4つのタイムマシンの代替
AppleのTimeMachineがバックアップを主流にしたことは間違いありません。 Time Machineが登場する前は、平均的なユーザーは疫病のようなバックアップを避けていました。手順は複雑すぎるようで、貴重なストレージスペースも無駄になりました。 Time Machineにより、Appleは人々の考え方を変えました。これは主に、そのシンプルさのおかげです。コンピュータに外付けHDDを追加すると、ファイルとOSが永久に安全になります。ワンクリックで、大惨事が発生する前に戻ります。 そのとき、他のバックアップソリューションがこのアプローチに注目し、シンプルさを優先する必要があると判断し
-
新規ユーザーにとって最も有用なLinuxコマンドの6つ
Linuxに切り替えるのは少し怖いかもしれません。新しいオペレーティングシステム?別のデスクトップ?コンピューティングで知っていることはすべて変わりましたか?スイッチは時々怖いように見えるかもしれませんが、それはより生産的で非常にやりがいのあるものになる可能性があります。新しいことを学ぶことがあなたの最初のステップです。 ターミナルとは何ですか? Linuxの詳細を学ぶ前に、ターミナルとは何かを理解する必要があります。ターミナルは、Linux版のコマンドプロンプトまたはPowerShellです。もともとコマンドラインオペレーティングシステムとして作成されたLinuxは、人気が高まっているため