使えると便利なWindowsネットワークコマンド

こんにちは、牧野です。

今日は、よく使うWindowsのネットワーク関係のコマンドまとめです。

○ipconfig

マシンのネットワークインターフェイスの状態を確認するのに使います。
/all をつけると詳細情報が確認できます。
/renew をつけると、マシンのIPアドレス設定を更新できます。リセットしたい時に使います。

○ping

対象にICMPのecho要求パケットを投げるコマンドです。通信できるかどうか確認するのによく使います。
-n で回数、-wでタイムアウト時間(ミリ秒)を指定できます。

結果の時間をみると、対象とのつながりやすさがわかります。大体、20msくらい以内で応答があると思います。
日本から海外など通信先が遠いわけではないのに時間がかかっているようだと、通信経路のどこかで何らかの問題が起きているかもしれません。

対象は、ドメイン名でもIPアドレスでも指定できます。
指定したドメイン名をhostsファイルで設定していると、そのIPアドレス設定が使われます。
nslookupと合わせて使うと確認しやすいです。

-SでそのマシンのIPを指定すると、通信元IPアドレスを指定できます。
普通のWindows PCではほとんど使いませんが、複数のネットワークインターフェイスを持つ機器からpingで疎通確認する時は、インターフェイスを指定したくなる場合があります。

○nslookup

名前解決ができるかどうか確認するのに使います。hostsファイルに書かれている情報は使われません。
名前解決に使うDNSサーバーを指定すれば、特定のDNSサーバーが正しく動いているか確認できます。
DNS情報を変更した時に、変更した名前解決情報が特定のDNSサーバーちゃんと伝わっているか確認するのにも使えます。

一行で実行する時


nslookup [type=soa|anyとか] [debug] 調べたいドメイン(もしくはIP) [使うDNSサーバー]

nslookupだけ実行すると、対話モードになります。


nslookup
server [DNSサーバー]
set type=any
set debug
(ドメイン)

debugを指定すると、ttlを確認できます。
オプションは他にもいろいろあります。

○tracert

対象までどのようなネットワーク経路をたどって通信しているか確認するのに使います。
昔、大学のある授業で、みんなでいろんなドメインにtracertコマンドを実行してその結果を黒板に書き出してみる、というのをやったことがありました。
たくさん情報が集まると、どんな感じでネットワークがつながっているのかが見えてきておもしろかったです。
ドコモのテザリングを使ってアシアルのHPまで試したら、このようになりました。

○route

マシンのルーティング情報(どのIPアドレス、ネットワークと通信する時に、まずどのIPアドレスに通信しに行くか)を確認したり、変更したりするコマンドです。
route print
route add 通信先のIP(帯) まず通信するIP
route delete 通信先のIP(帯)
route change 通信先のIP(帯) まず通信するIP
あたりを使います。
外部からVPN接続でオフィスのネットワーク等に接続した時に、routeコマンドを使えば自分のマシンからオフィスのネットワーク経由で特定のサーバーにアクセスすることができます。


route add (目的のサーバーIP) mask 255.255.255.255 (オフィスのデフォルトゲートウェイIP)

間違えるとVPN接続自体できなくなることもあります。。

○arp

MACアドレスについて調べる時に使います。
MACアドレスは、機器の各ネットワークインターフェイスにつけられている固有の名前のようなものです。
各ネットワーク内でIPアドレスはMACアドレスと対応づけられ、最終的にはMACアドレスを確認することで機器を特定して通信します。


arp -a

で、そのマシンが知っているIPアドレスとMACアドレスの対応一覧(arpテーブル)が確認できます。
サーバーのIPを付け替えた時に、ルーターにarpテーブルのキャッシュが残っているせいで正常に通信できないことがあります。その時は、その機器のarpキャッシュを全部クリアしたり、該当するarpキャッシュ情報を削除することで正常に通信できるようになります。

○dhcploc

ネットワーク内のDHCPサーバーを見つけるのに使えるコマンドです。
デフォルトでは入っていないので、マイクロソフトのページからダウンロードしてインストールします。
http://www.microsoft.com/ja-jp/download/details.aspx?id=18546
Windows 7でも、プロパティでWindows XP互換モードに変えればインストールできました。

マシンのIPがDHCP割り当ての時、そのマシンで


dhcploc (マシンに割り当てられたIPアドレス)

を実行後、dを入力すると、DHCPサーバーのIPが(S)のところに表示されます。
先日、会社のネットワークでパソコンに変なIPアドレスが割り当てられるということがありました。その時に調べる方法を探す中でこのコマンドの存在を初めて知りました。
何度か実行すると複数のDHCPサーバーのIPが出てきて、変なDHCPサーバーが動いていたことがわかりました。

今更な内容ですが、使えるとネットワークの問題解決に役立つと思います。