【TCP/IP】ネットワークの経路を調査する方法
【TCP/IP】
ネットワークの経路を調査する方法
PCを使って、
ネットワークにアクセスした先に、
どのような経路でたどり着いたかを調べる方法があります。
ネットワークコマンドの
「traceroute」コマンドか、
Windowsでは「tracert」コマンドを使用して、
指定した「URL」「ドメイン」「IPアドレス」までの
ネットワーク経路を調べることができます。
コマンドの結果である「経路」は、
リストで出力されます。
ホストからホストまでのネットワーク経路がリスト表示され、
経路上にどのようなルーターが位置し、経由しているかがわかります。
詳しくは、下記をご参照ください。
ネットワークの経路を調べるネットワークコマンドとは
ネットワークの経路を調べる前に、
通信先とのネットワークが繋がっているかの疎通確認をする必要があります。
ネットワークコマンドの中では、
一番よく使われている「ping」コマンドを使用して、
ネットワーク回線が繋がっているかを確認し、
回線が繋がっていれば、
経路を調べることになります。
ネットワークの経路を調べるネットワークコマンドは、
OS | アドレスタイプ | ネットワークコマンド |
Windows |
IPv4/v6兼用 | tracert |
Mac |
IPv4用 | traceroute |
Mac |
IPv6用 | traceroute6 |
Linux (Ubuntu) |
IPv4およびv6用 | traceroute |
などがあります。
OSによって、使用できるコマンドが若干異なりますが、
基本的には、「traceroute」コマンドが一般的なようです。
主な用途は、
「ping」を使用した際に、
送信先ホストからの応答がなかった場合などに、
ネットワーク経路を確認するときなどに良く利用されています。
経路上のどこで、
通信が途絶えているかなどの確認をすることができます。
ルーターの設定が正しいかの確認が可能です。
各ルーターからの返答時間も表示されます。
経路上の問題点や、性能評価に使えるコマンドとなっています。
Back
通信先との疎通確認をする方法
通信先との疎通確認をする方法は、
「ping」コマンドを使用して、簡単に行うことができます。
通信先との回線が繋がっていれば、
経路の調査も可能となります。
「ping」コマンドの書式
: ping [-t] [-a] [-n 要求数] [-l サイズ] [-f] [-i TTL] [-v TOS]
[-r ホップ数] [-s ホップ数] [[-j ホスト一覧] | [-k ホスト一覧]]
[-w タイムアウト] [-R] [-S ソースアドレス] [-c コンパートメント]
[-p] [-4] [-6] ターゲット名
ping [IPアドレスまたはドメイン名]
ping IPアドレス
ping ドメイン名
ping ***.***.***.***
ping sample.com
ping ***.***.***.*** -n 5
ping ***.***.***.*** -t
ping ***.***.***.*** -l 1000
ping ***.***.***.***
ping ***.***.***.***
ping ***.***.***.***
ping ***.***.***.***
ping ***.***.***.***
「ping」コマンドの「ヘルプ」を表示する方法
ping /?
「ping」コマンドは、
・ブラウザにページが表示されない
・メールが見れない
・パソコンがファイルサーバーにつながらない(アクセスできない)
・パソコンがインターネットにつながらない
などの症状が出たときに、
実行するコマンドで、
上級者から初心者まで、
知っていたら便利なネットワーク系コマンドの一つです。
「ping」コマンドのオプション
オプション | 説明 |
-t |
中断されるまで、指定されたホストに疎通確認をする。
統計を表示して続行するには、「Ctrl+Break」
停止するには、「Ctrl+C」
|
-a | アドレスのホスト名調べる。 |
-n 要求数 | 指定した数の分だけ疎通確認を送信する。 |
-l サイズ | サイズ 送信バッファーのサイズです。 |
-f | パケット内の Don’t Fragment フラグを設定します (IPv4 のみ)。 |
-i TTL | 「Time To Live」。「TTL」はパケットの有効期限。 |
-v TOS | Type Of Service |
-r ホップ数 | 指定したホップ数までのルートを記録する (IPv4 のみ)。 |
-s ホップ数 | 指定したホップ数までのタイムスタンプを表示する(IPv4のみ) |
-j ホスト一覧 | 一覧で指定されたルートをできるだけ使用する(IPv4のみ) |
-k ホスト一覧 | 一覧で指定されたルートを厳密に使用する(IPv4のみ) |
-w タイムアウト時間 | 応答を待つタイムアウトの時間を指定する。単位は、「ミリ秒」。 |
-R ルーティング | ヘッダーを使用して逆ルートもテストする(IPv6 のみ)。 |
-S ソースアドレス | 疎通確認するソースアドレスを指定する。 |
-c コンパートメント | コンパートメント識別子を指定する。 |
-p Hyper-V | ネットワーク仮想化プロバイダーアドレスを確認する |
-4 | 「IPv4」を強制的に使用する。 |
-6 | 「IPv6」を強制的に使用する。 |
Back
「WindowsOS」でネットワークの経路を調べる方法
「WindowsOS」では、
ネットワーク経路を調べるコマンドとして、
「tracert」コマンドが使われています。
「IPv4/v6兼用」なので、
「WindowsOS」全体で使えるネットワークコマンドとなっています。
「tracert」コマンドの書式
tracert [-d] [-h 最大ホップ数] [-j ゲートウェイ・リスト] [-w タイムアウト時間] [-R] [-S ソースアドレス] [-4] [-6] 対象ホスト(ホスト名またはIPアドレス)
tracert ドメイン名
tracert Google.com
tracert IPアドレス
tracert ***.***.***.***
「tracert」コマンドのオプション
オプション | 説明 |
-d | 「IPアドレス」から「ホスト名」への名前解決を行わない |
-h | 使用する「最大TTL(Time To Live)」。指定した数字の数のルーターまでしか経由しない。 |
-j | 経由すべきゲートウェイ(ルーター)のアドレスを指定できるオプション。最大9個まで指定可能。ただし指定されていないゲートウェイも経由できる(loose source routed)。「IPv4」のみ |
-w | タイムアウト時間を指定する可能。単位は「ミリ秒」 |
-R | 往復のパスをトレースする設定。「IPv6」のみ対応 |
-S | 自身のIPではない、別のホストを「送信元ホスト」として指定可能なオプション。もちろん結果は自身へと返ってこない。「IPv6」のみ |
-4 | 「IPv4」の使用を強制するオプション |
-6 | 「IPv6」の使用を強制するオプション |
Back
「MacOS」でネットワークの経路を調べる方法
「MacOS」でネットワークの経路を調べるには、
「IPv4」では、「traceroute」コマンドを使用し
「IPv6」では、「traceroute6」コマンドを使用して確認します。
IPv4用
traceroute [-adDeFInrSvx] [-A ASサーバ] [-f 初期TTL値] [-g ゲートウェイ・リスト] [-i インタフェース] [-M 初期TTL値] [-m 最大TTL値] [-P プロトコル] [-p ポート番号] [-q 試行回数] [-s 送信元アドレス] [-t TOS] [-w 待機時間] [-z pausemsecs] 対象ホスト(ホスト名またはIPアドレス) [パケットサイズ]
「traceroute」コマンドのオプション
オプション | 説明 |
-a | 「BGP」の「AS番号」を表示する |
-d | 「モード」で動作する |
-D | 「パケット内容」を表示する |
-e | ファイアウォール回避モード。送信先ポート番号を固定されて実行される。通常は、送信ポート番号が、試行ごとにインクリメント。ファイアウォールが回避しやすい。 |
-F | 「IPパケット」の分割を禁止する |
-I | 「UDP」の代わりに「ICMP Echo Request」を使用する。「-P」オプションでも同様のことが可能。 |
-n | 出力を「IPアドレス」のみに抑制する(DNS逆引きを実行しない) |
-r | ルーティングテーブルを無視し、指定した転送先ホストに直接パケットを送信する。 |
-S | 「ホップ」するごとに「返答率」を表示する |
-v | 詳細モード |
-x | 「ICMP」の「CheckSum」の評価をする |
-A | 「BGP」の「AS番号」を表示し、指定された「ASサーバ」を使用する |
-f | 使用する「TTL」初期値を指定する |
-g | 経由すべき「ゲートウェイ(ルーター)」アドレスを最大8個まで指定可能。 |
-i | 指定された「インタフェース(バインドされたIPアドレス)」を使用して実行する |
-M | 使用する「TTL」初期値を指定する |
-m | 使用する「TTL」最大値を指定する。指定したホップ数までの「ゲートウェイ」を表示する |
-P | 使用する「IPプロトコル」を指定。「UDP」「TCP」「GRE」「ICMP」が指定可能 |
-p | 使用する「UDP/TCP」パケットのポート番号を指定。(UDP/TCPのみ) |
-q | 1つのゲートウェイに対する試行回数が指定可能。デフォルトは「3」 |
-s | 指定された「IPアドレス」からの実行とする(Source Addressを指定) |
-t | パケットの「TOS(Type Of Service)」を指定された値にする |
-w | タイムアウト時間を指定。単位は「秒」 |
IPv6用
traceroute6 [-dIlnNrUv] [-f 初期ホップ数] [-g ゲートウェイ・リスト] [-m 最大ホップ数] [-p ポート番号] [-q 試行回数] [-s 送信元アドレス] [-w 待機時間] 対象ホスト(ホスト名またはIPアドレス) [パケットサイズ]
「traceroute6」コマンドのオプション
オプション | 説明 |
-d | 「デバッグモード」で実行する |
-I | 「UDP」の代わりに「ICMP Echo Request」を使用する |
-l | 「ホスト名」「IPアドレス」の両方を表示 |
-n | 出力を「IPアドレス」のみに固定(DNS逆引きはしない) |
-N | 「上位レイヤー」の「ヘッダ」を含まなせない |
-r | ルーティングテーブルを無視し、指定した転送先に、直接パケットを送信する。同一の物理ネットワーク上に目的ホストがない場合はエラー |
-U | 「UDP」パケットを用いる(デフォルト) |
-v | 詳細モード |
-f | 使用する初期ホップ数を指定する。 |
-g | 経由する「ゲートウェイ(ルーター)」のアドレス指定する(最大8個まで) |
-m | 「最大ホップ数」を指定可能。最大は「255」、デフォルトは「30」 |
-p | 使用する「UDP/TCPパケット」の「ポート番号」を指定可能(UDP/TCPパケットを使用する場合) |
-q | 1つのホップに対して、「試行回数」を指定する |
-s | 指定された「IPアドレス」から実行したことにできる。(Source Addressを指定する) |
-w | 「タイムアウト」の時間を指定する。単位は「秒」 |
Back
「LinuxOS」でネットワークの経路を調べる方法
「LinuxOS」で、
ネットワークの経路を調べるには、
「traceroute」コマンドを使用します。
「traceroute」コマンドの書式(IPv4・IPv6用)
traceroute [-46dFITnreAUDV] [-f 初期TTL値] [-g ゲートウェイ・リスト] [-i インタフェース] [-m 最大TTL値] [-N 並列数] [-p ポート番号] [-P プロトコル番号] [-t TOS] [-l フローラベル] [-w タイムアウト時間] [-q 試行回数] [-s 送信元アドレス] [-z 間隔時間] [--sport=送信元ポート番号] [ --fwmark=num] [-UL] [-M プロトコル] [-O mod_options] [--mtu] [--back] 対象ホスト(ホスト名またはIPアドレス) [パケットサイズ]
「traceroute」コマンドの書式(IPv6用)
traceroute6 [-dnrvV] [-m 最大TTL値] [-p ポート番号] [-q 試行回数] [-s 送信元アドレス] [-t TOS] [-w タイムアウト時間] 対象ホスト(ホスト名またはIPアドレス) [パケットサイズ]
「traceroute」コマンドのオプション
オプション | 説明 |
-4 | 「IPv4」を使用する |
-6 | 「IPv6」を使用する |
-d | 「デバッグモード」で動作する |
-F | 「IPパケット」の分割を禁止する |
-I | 「ICMP Echo Request」を使用する |
-T | 「TCP SYN」パケットを使用する。デフォルトのポート番号は「80」 |
-n | 出力を「IPアドレス」のみに指定する(DNS逆引きを行わない) |
-r | 指定したホストに転送する指定。同一の物理ネットワーク上に目的ホストがない場合はエラー |
-e | 「ICMP」の拡張を表示させる |
-A | 「BGP」の「AS番号」を表示させる |
-U | 「UDPパケット」使用する。デフォルトのポート番号は「53」 |
-D | 「DCCP(Datagram Congestion Control Protocol/RFC 4340)」を使用する。デフォルトポート番号は「33434」 |
-V | バージョン情報を表示させる |
-f | 使用する「TTL初期値」を指定する |
-g | 経由すべき「ゲートウェイ(ルーター)」のアドレスを指定する。(最大8個まで)指定されていないゲートウェイも経由可能 |
-i | 指定された「インタフェース」を使用して実行する(ネットワークカード名・BindされたIPアドレスでも可) |
-m | 使用する「TTL最大値」を指定。指定した最大値までホップが可能。そこまでのゲートウェイが表示される |
-N | 並列して「パケット」を送信する数の指定。デフォルトは16。大きな値を指定することは推奨されない |
-p | 使用する「UDP/TCP」パケットのポート番号を指定する |
-P | 「RAWパケット」を使用する「プロトコル番号」を指定する。デフォルト値は「253」 |
-t | パケットの「TOS(Type Of Service)」を指定する。「IPv6」の場合は、「トラフィックコントロール値」を指定。 |
-I | 「IPv6」の「フローラベル」を指定 |
-w | 「タイムアウト」の時間を指定する。単位は「秒」、デフォルトは「5秒」 |
-q | 「ゲートウェイ」への「試行回数」を指定する。デフォルトは「3回」 |
-s | 指定「IPアドレス」から実行する |
-z | 「送信パケットの間隔時間」を「秒」単位で指定する。デフォルトは「0秒」 |
--sport | 「送信元ポート番号」を指定する |
--fwmark | 「パケットへファイアウォールマーク(SO_MARK)」を設定する |
-UL | 「UDPLITE(RFC 3828)」パケットを使用する |
-M | 使用「プロトコル」を指定する。デフォルトは、「UDP」。「icmp」「tcp」も指定可能。「-U」「-I」「-T」オプションと同じ |
-O | 使用「プロトコル」の拡張オプションを指定する |
--mtu | 「MTU」を指定する。「-F」オプションと使用すると、各経路での「MTU」を調査可能。 |
--back | 帰りの「ホップ数」を表示する |
Back