ネットワークのトラブルシューティングで使うコマンド

前回、パケットキャプチャのキャプチャフィルタについて説明しましたが、そこに関連してネットワークのトラブルシューティングに使う初歩的なコマンドを整理したいと思います。

IPアドレス関連

まずは自身のIPアドレスおよびネットワークの情報を見れるようにしましょう。
Windowsの場合は「ipconfig」で確認できます。

ipconfig

情報が不足する可能性もあるので、「/all」オプションで完全な出力をさせることができることも覚えておきましょう。

ipconfig /all

Linuxの場合は以下になります。
やや古いディストリビューションの場合

ifconfig

最近のディストリビューションの場合

ip addr

ホスト名の名称解決

次に通信先のホスト名をIPアドレスに変換できるか確認します。
nslookup コマンドでDNSサーバと通信してホスト名をIPアドレスに変換できるか確認します。
これはWindowsLinuxも同じコマンドになります。

nslookup

上記を入力すると、nslookupのプロンプトに入るので、DNSサーバの設定を確認しましょう。

server

このサーバコマンドですが、DNSサーバ設定の確認だけでなく、変更にも使えます。
server にすると、一時的にDNSサーバを変更できます。

server <DNSサーバのIPアドレス>

サーバの確認が終わったら、<対象サーバのFQDN>をそのまま入力することでDNSサーバに問い合わせを行います。

<対象サーバのFQDN>

確認が終わったら

exit

nslookupのプロンプトをで抜けましょう。

DNSサーバで通信先のホスト名をIPアドレスに変換できない場合は自身が持っているホスト名とIPアドレスの紐づけの情報を確認します。
Windowsについては、残念ながらコマンドで確認する方法はないので、C:\Windows\System32\drivers\etc にあるhostsファイルを確認してください。
Linuxについては、やはりファイルを確認するのですが、こちらはコマンドだけでファイルの中身を確認することが可能です。

cat /etc/hosts

通信経路の確認

tracerouteという手法を使います。
tracerouteのコマンドとしては、Windowsだと tracert になります。

tracert <ホスト名orIPアドレス>

コマンドとしては上記になるのですが、tracertは特定したIPアドレスのホスト名を確認しようとするという動作をするので、DNS応答時間が発生します。
この動作は「-d」オプションでカットできるので、オプション付きでの実行をお勧めします。

tracert -d <ホスト名orIPアドレス>

また、Linuxだとそのまま traceroute というコマンドがあります。
ただしLinuxの場合は事前に traceroute が導入されていない場合がありますので、確認したうえで可能な限り導入しておきましょう。

traceroute <ホスト名orIPアドレス>

linuxの場合、Windowsの「-d」オプションに該当するオプションは「-n」オプションになります。

traceroute -n <ホスト名orIPアドレス>

ルーティングの確認

これができるようになるとある程度ネットワークがわかる人になってくるかと思います。
Windowsの場合は以下でしゅつりょくできます。

route print

Linuxの場合は以下になります。
やや古いディストリビューションの場合

netstat -r

最近のディストリビューションの場合

ip route

ここまでできるようになれば、次はパケットキャプチャの取得方法の際にアタリを付けられるようになるかなと思います。