今回はLinuxにおけるネットワークの疎通確認や経路確認のコマンドについて説明しようと思います。
今回説明するコマンドは「ping」、「traceroute」、「tracepath」です。まず「ping」コマンドについてですが、こちらは指定したネットワークへ接続できているかどうかの確認のために使用されます。
書式とコマンドオプションを下記に示します。([]内は省略可)
ping [オプション] ホスト名/IPアドレス
オプション一覧
-b・・・ブロードキャストアドレス宛に送る
-c 回数・・・指定した回数だけパケットを送る
-n・・・名前解決をしない
-i・・・パケット送信感覚を指定する(秒単位)
接続確認ができた場合は確認にかかった時間を表示し、接続確認できない場合は「Destination Host Unreachable」と表示されます。
このコマンドは回数を指定しない場合は永遠にパケットを送信し続けるので、回数指定をしていない場合は「Ctrl+C」等の強制終了操作を行ってコマンド処理を終了する必要が有ります。
そして注意点ですが、このコマンドは自分が管理しているホスト名以外の対象に対してむやみに使用しない方が良いです。
例えば「Google」や「Yahoo」等といった大手の企業が管理しているホスト名へ「ping」コマンドを使用し続けると最悪の場合、攻撃のための予備調査をしているとみなされてしまう恐れが有ります。
なので、基本的には自分が管理しているPCやサーバー相手に使用するようにした方が良いと思います。
次に「traceroute」コマンドについてです。
こちらのコマンドは指定したホスト/IPアドレスへの接続経路を調べるために使用されます。
書式とコマンドオプションを下記に示します。([]内は省略可)
オプション一覧
-n・・・出力結果をIPアドレスのみにする。
-f・・・開始時のTTLの初期値を指定する。
-q・・・1つのゲートウェイに対する試行回数を指定する。
接続経路の情報というのは例えば自ホストからサーバーまでに中継したルーターの情報が一覧表示されます。
なので例えば自ホスト→ルーターA→ルーターB→ルーターC→サーバーといった接続経路情報が一覧表示されます。
このコマンドは例えば「ping」での接続確認ができなかった場合、どの中継地点でパケットが止まっているのかを確認する時に使用します。
最後に「tracepath」コマンドについてですが、こちらは「traceroute」コマンドとほぼ同様の機能となっていまして、違いとしては「tracepath」コマンドは接続経路のMTU(1回あたり転送できる最大データ量)も調査してくれます。
書式を下記に示します。
tracepath ホスト名/IPアドレス
上記3コマンドについてもう一つ補足が有りまして、上記で説明したのはIPv4に対するコマンドであり、IPv6であれば末尾に6をつける必要があります。
なので例えば「ping6」、「tracepath6」、「traceroute6」といったようにコマンドを入力する必要が有ります。
今回はネットワーク接続確認のコマンドについて説明させていただきました。
参考資料
・中島能和(2020)『CentOS 徹底入門 第4版』株式会社翔泳社
・traceroute(tracert) ~ネットワークの経路を調査する:ネットワークコマンドの使い方 - @IT (itmedia.co.jp)