名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 終了ステータス | 属性 | Trusted Solars での変更点 | 関連項目 | 警告
インターネットは、ゲートウェイで相互に接続された膨大な数のネットワークハードウェアが複雑に絡み合ったものです。パケットがたどる経路を追跡することは困難な場合があります。traceroute ユーティリティは、IP パケットがあるインターネットホストに達するまでの経路を追跡します。 Trusted Solaris 環境で traceroute を実行するには net_rawaccess
特権が必要です。
traceroute は IP プロトコルの ttl (time to live、存続時間) フィールドを利用して、パスに沿って各 gateway から ICMP TIME_EXCEEDED 応答を受け取り、宛先ホストから PORT_UNREACHABLE (-I が使用されている場合は ECHO_REPLY) 応答を受け取ります。traceroute は ttl に 1 を設定してプローブを開始し、パケットがホストに達するか ttl が最大になるまで ttl を 1 ずつ増やしてプローブを続けます。ttl の最大値はデフォルトで 30 ホップですが、-m オプションを使えば変更できます。
ttl の設定ごとにプローブが 3 回送信され、結果が 1 行に出力されます。この行には、ttl、ゲートウェイのホスト名とアドレス、プローブの rtt (往復時間) が表示されます。プローブの回数は -q オプションで設定することもできます。プローブの応答が別々のゲートウェイから出された場合は、応答システムごとにそのホスト名とアドレスが出力されます。5 秒のタイムアウト時間内に応答がない場合は、そのプローブに対し「*」が出力されます。タイムアウト時間を設定するには -w オプションを使用します。タイムアウトの場合は、次の注釈が表示されることがあります。
受信したパケットの ttl 値が 1 以下です。
ホストに到達できません。
ネットワークに到達できません。
プロトコルに到達できません。
ソースのルーティングに失敗しました。通常、このような注釈が表示されることはありません。これが表示されるのは、関連するゲートウェイが壊れている場合です。
断片化が必要です。通常、このような注釈が表示されることはありません。これが表示されるのは、関連するゲートウェイが壊れている場合です。
管理上の理由で通信は禁止されています。
ICMP 到達不能コード N
宛先 host では UDP プローブパケットの処理が想定されていないため、宛先 port のデフォルトが予期しない値に設定されています。しかし、宛先のどれかのアプリケーションがこの値を使用している場合は、port の値を -p オプションで変更できます。
必須のパラメータは宛先の host 名と IP 番号だけです。プローブデータグラムのデフォルトの長さは 40 バイトですが、宛先 host 名の後にパケットのバイト数を指定すれば増やすことができます。
traceroute のすべての数値引数は 10 進数でも 16 進数でも指定できます。たとえば、packetlen は 256 でも 0x100 でも指定できます。
SO_DEBUG ソケットオプションを設定します。
「don't fragment」ビットを設定します。
ttl の初期値として first_ttl を設定します。traceroute は、ホップが first_ttl より小さい中間ゲートウェイの処理をスキップします。
経由する gateway を指定します。ゲートウェイごとに -g を使用すれば、複数の gateway を指定できます。設定できる最大値は 8 です。
istanbul% traceroute -g cairo -g paris -g london sanfrancisco |
UDP データグラムの代わりに ICMP ECHO を使用します。
プローブパケットの送信元の IP アドレスを取得するためにネットワークインタフェースを指定します。通常、これを使用するのはマルチホームホストの場合だけです。-s オプションでも同じ指定ができます。これはプローブパケットを送信するインタフェースを指定する方法ではないことに注意してください
発信プローブパケットで使用する最大 ttl を設定します。デフォルトは 30 ホップです。これは TCP 接続数のデフォルトの値と同じです。
ホップのアドレスを記号と数値で出力する代わりに数値だけで出力します。こうすると、ネームサーバーがパス上の各ゲートウェイのアドレスから名前を検索する時間が節約されます。
プローブで使用する基本の UDP port 番号を設定します。デフォルトは 33434 です。traceroute は、宛先ホストの (base+(nhops-1)*nqueries) から (base+(nhops*nqueries)-1) までの UDP ports で待機しているものがない場合、ICMP PORT_UNREACHABLE メッセージを返し、経路の追跡を終了します。デフォルト範囲のいずれかの port で待機しているものがある場合は、このオプションを使って未使用の port 範囲を選択できます。nhops はソースと宛先間のホップの数です。
必要なプローブ照会の数を設定します。デフォルトは 3 です。
通常のルーティングテーブルをバイパスし、接続されたネットワーク上のホストにプローブを直接送信します。ホストが、直接接続されたネットワーク上にないと、エラーが返されます。このオプションを使うと、プローブをルーターデーモンによって解除されたインタフェースを介してローカルホストに送信できます。in.routed(1M) を参照してください。
プローブパケットの送信元アドレスとしてこのアドレス (通常はホスト名ではなく IP アドレス) を指定します。マルチホームホスト (複数の IP アドレスをもつもの) の場合は、このオプションを使えば、traceroute がデフォルトで選択する IP アドレスとは異なるアドレスをソースアドレスとして指定できます。指定した IP アドレスがマシンのどのインタフェースアドレスとも一致しない場合、エラーが返され、何も送信されません。-i オプションといっしょに使用する場合は、指定する IP アドレスが、指定するインタフェース上に設定されていなければなりません。設定されていない場合、エラーが返されます。
プローブパケットの tos (type-of-service、サービスタイプ) を設定します。デフォルトはゼロです。値は 0 から 255 までの整数でなければなりません。プローブパケットに設定する tos の値によっては、ゲートウェイがプローブパケットのルーティングを変更することがあります。
冗長出力。応答パケットのサイズと宛先がホップごとに表示されます。さらに、TIME_EXCEEDED と UNREACHABLE を除き、受信された ICMP パケットがすべて表示されます。
プローブに対する応答を待つ時間を秒数で設定します。デフォルトは 5 秒です。
このオプションを指定した場合、traceroute はチェックサムの計算を行いません。ICMP ECHO プローブを使用するときには、通常、最後のホップに対しチェックサムが必要です。-I オプションを参照してください。
次の例は traceroute の実行と出力です。これは、ホスト istanbul からホスト sanfrancisco までの間に 7 つのホップを通るパケットのパスを示しています。
istanbul% traceroute sanfrancisco traceroute: Warning: Multiple interfaces found; using 172.31.86.247 @ le0 traceroute to sanfrancisco (172.29.64.39), 30 hops max, 40 byte packets 1 frbldg7c-86 (172.31.86.1) 1.516 ms 1.283 ms 1.362 ms 2 bldg1a-001 (172.31.1.211) 2.277 ms 1.773 ms 2.186 ms 3 bldg4-bldg1 (172.30.4.42) 1.978 ms 1.986 ms 13.996 ms 4 bldg6-bldg4 (172.30.4.49) 2.655 ms 3.042 ms 2.344 ms 5 ferbldg11a-001 (172.29.1.236) 2.636 ms 3.432 ms 3.830 ms 6 frbldg12b-153 (172.29.153.72) 3.452 ms 3.146 ms 2.962 ms 7 sanfrancisco (172.29.64.39) 3.430 ms 3.312 ms 3.451 ms |
次の例は、-g オプションの指定に従って istanbul からホスト cairo と paris を通って sanfrancisco に達するパケットのパスを示しています。-I オプションを指定することで、ICMP ECHO プローブがホスト sanfrancisco に送信されます。また -i オプションを使用して、インタフェース qe0 上に設定された IP アドレスをソースアドレスとして、設定しています。
istanbul% traceroute -g cairo -g paris -i qe0 -q 1 -I sanfrancisco traceroute to sanfrancisco (172.29.64.39), 30 hops max, 56 byte packets 1 frbldg7c-86 (172.31.86.1) 2.012 ms 2 flrbldg7u (172.31.17.131) 4.960 ms 3 cairo (192.168.163.175) 4.894 ms 4 flrbldg7u (172.31.17.131) 3.475 ms 5 frbldg7c-017 (172.31.17.83) 4.126 ms 6 paris (172.31.86.31) 4.086 ms 7 frbldg7b-82 (172.31.82.1) 6.454 ms 8 bldg1a-001 (172.31.1.211) 6.541 ms 9 bldg6-bldg4 (172.30.4.49) 6.518 ms 10 ferbldg11a-001 (172.29.1.236) 9.108 ms 11 frbldg12b-153 (172.29.153.72) 9.634 ms 12 sanfrancisco (172.29.64.39) 14.631 ms |
次の属性の説明については、attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
---|---|
使用条件 | SUNWcsu |
traceroute ユーティリティの実行には net_rawaccess
特権が必要です。
このユーティリティを実行するには、管理者役割になる必要があります。デフォルトでは、traceroute は Network Management プロファイルにあります。
このユーティリティは、ネットワークのテスト、測定、および管理を行うためのものです。このユーティリティは主に障害を手動で分離するときに使用します。このユーティリティはネットワークに負荷を与える可能性があるため、traceroute を通常操作の間に実行したり、自動化されたスクリプトから実行したりするのは避けるべきです。
名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 終了ステータス | 属性 | Trusted Solars での変更点 | 関連項目 | 警告