※この記事は「2024年2月21日」に更新しました。
コマンドプロンプトのネットワーク系コマンドについて。
非常に強力なコマンドが多く、使いこなすことができれば、自分でネットワークのトラブルを解決できるようになります。
- インターネットがつながらない
- IPアドレスがわからない
こんなときは、コマンドプロンプトが役に立ちます。
- 基本情報技術者資格所有者(ソフト開発の国家資格)
- WordPress歴、10年以上
- Withマーケ会員(2022年10月入会)
目次
ネットワーク系コマンド
ネットワーク系コマンドを紹介します。
ipconfigコマンド
ipconfig [オプション]
ちなみに、オプションには、以下のようなものがあります。
- /all
- 詳細な TCP/IP 情報を表示する。
- /renew
- 指定したアダプタの IPアドレス(IPv4)を更新する。
- /renew6
- 指定したアダプタの IPアドレス(IPv6)を更新する。
- /release
- 指定したアダプタの IPアドレス(IPv4)を解放する。
- /release6
- 指定したアダプタの IPアドレス(IPv6)を解放する。
- /displaydns
- DNS リゾルバーキャッシュの内容を表示する。
- /flushdns
- DNS リゾルバーキャッシュを破棄する。
試しに、オプションなしで実行してみましょう。
すると、以下のような画面が表示されます。
IPv4アドレスというのが、IPアドレスです。
一般家庭のよくあるネットワークの場合、ルーターがパソコンに割り当てる IPアドレスのことです。
デフォルトゲートウェイというのは、異なるネットワーク同士を接続するネットワーク機器のことです。
つまり、ルーターのことです。
外のネットワークと家庭内のネットワークを仕切る玄関のような役割を果たしています。
今回の例の場合、サブネットマスクは、以下の通りです。
255.255.255.0
これを 2進数に変換すると以下の通りです。
11111111.11111111.11111111.00000000
ipconfig を実行しているパソコンの IPアドレスは、以下の通りです。
192.168.1.11
これを 2進数に変換すると、以下の通りです。
11000000.10101000.00000001.00000111
それぞれの桁(ビット)の論理積を計算することで、ネットワーク部分の数値が計算されて、ホスト部分(何台まで割り当てられるか)がわかるという仕組みです。
ネットワーク部分の数値が異なると違うネットワークと認識されます。
一般家庭では、DHCP といって、IPアドレスが自動で割り当てられるように設定していることがほとんどです。
このルールに従って、ルーターが接続している機器に対して IPアドレスを割り当てているということです。
ちなみに、以下のような特殊なアドレスが割り当てられている場合、正常ではありません。
169.254.150.84
pingコマンド
ping [オプション] 相手先
オプションは、以下の通りです。
- -n
- 送信するエコー要求の数を指定する(デフォルトは4回)。
- -l
- 送信するエコー要求のデータのサイズを指定する(デフォルトは32バイト)。
- -w
- 応答待機時間を指定する(デフォルトは4000ミリ秒)
1台だけ試す場合は、オプションなしで使うことが多いかと思います。
バッチファイルなどで例えば、複数台、通信状態を調べていくような場合だと、オプションを指定して無駄を省くような設定をすることがあります。
ちなみに、どういう感じで接続を確認していくかは、以下の記事をご参照下さい。
tracertコマンド
tracert [オプション] 相手先
pingコマンドを実行したときに、TTL(Time To Live)という値が存在します。
これは、TCP/IP では、ネットワーク上での最大転送回数を表しています。
外部のルーターを経由するごとに TTL の数値は減っていきます。
0 になったら期限切れになりましたと表示されます。
例えば、これを使って、同じルーターが何度も表示される場合、ルーティングループが発生している可能性があります。
arpコマンド
arp [オプション]
オプションは、以下の通りです。
- -a
- arpキャッシュテーブルを表示する。
- -d IPアドレス
- arpキャッシュテーブルから指定した IPアドレスの情報を削除する。
- -s IPアドレス MACアドレス
- arpキャッシュテーブルから指定した IPアドレスの情報を追加する。
arpコマンドを実行する場合、必ずオプションを指定しましょう。
電源が入っているマシンを検出して、使用中の IPアドレスを調べるようなときに使えます。
例えば、forコマンドを使って、256回、pingコマンドを実行します。
for /l %a in (0,1,255) do ping -n 1 -w 1 192.168.1.%a
これは、以下のように実行されます。
ping -n 1 -w 1 192.168.1.0 ping -n 1 -w 1 192.168.1.1 ping -n 1 -w 1 192.168.1.2 ping -n 1 -w 1 192.168.1.3 ping …
この直後に、以下のコマンドを実行します。
arp -a
すると、先程の ping のおかげで arpテーブルが更新されているはずです。
MACアドレスが表示されるので、例えば、ブリッジモードで接続しているルーターの IPアドレスがわからないという場合でもこれを使えば問題ありません。
もちろん、ルーターには専用のソフトが付属していたりしますが、実はコマンドプロンプトだけでも設定可能です。
詳しく知りたい方は、ネットワーク上のIPアドレスを調べる方法 という記事をご確認下さい。
netstatコマンド
netstat [オプション]
オプションは、以下の通りです。
- -a
- 接続と待ち受けしている全てのポート状況を表示する。
- -b
- 各接続のPIDとプロセス名を表示する(管理者権限で実行する必要あり)。
普段からこのコマンドを使う習慣を身に付けていると怪しい通信を見つけやすくなります。
nslookupコマンド
ドメイン名から IPアドレスを調べたり、IPアドレスからドメイン名を調べたりすることができます。
nslookup ドメイン名
PowerShell(パワーシェル)を使いたい方へ
ネットワーク系のコマンドは、外部コマンドがほとんどなので、PowerShell(パワーシェル)でも問題なく実行できます。
実行ファイルが存在し、パスが通っているので、内部コマンドと同じ感覚で使用することができます。
PowerShell について、詳しく知りたい方は、以下の記事をご参照下さい。
最後に
最近の無線LANルーターは、簡単に接続できるようになっています。
しかし、トラブルがあったときは、原因を絞り込むことが素人にはむずかしいです。
ネットワークコマンドを使いこなせるようになると、無線LANルーターの設定トラブルも問題なく解決できるようになります。
Windows であれば、ソフトをインストールすることなく、これらのコマンドは使えます。
誰でも使えるツールなので、興味があれば、是非活用してみてください。