【コマンドプロンプト】ネットワーク系コマンド

※この記事は「2022年10月8日」に更新しました。

コマンドプロンプトのネットワーク系コマンドについて。

非常に強力なコマンドが多く、使いこなせば、自分でネットワークのトラブルを解決できるようになります。

  • インターネットがつながらない
  • IPアドレスがわからない

こんなときは、コマンドプロンプトが役に立ちます。

タカフミ
記事を書いている管理人の経歴は、以下の通りです。
  • 基本情報技術者資格所有者(ソフト開発の国家資格)
  • WordPress歴、10年以上
  • パソコン販売歴、約5年

ネットワーク系コマンド

ネットワークコマンド

ネットワーク系コマンドを紹介します。

ipconfigコマンド

タカフミ
ipconfigコマンドは、IPアドレス情報を確認するためのコマンドです。
ipconfig [オプション]

ちなみに、オプションには、以下のようなものがあります。

/all
詳細な TCP/IP 情報を表示する。
/renew
指定したアダプタの IPアドレス(IPv4)を更新する。
/renew6
指定したアダプタの IPアドレス(IPv6)を更新する。
/release
指定したアダプタの IPアドレス(IPv4)を解放する。
/release6
指定したアダプタの IPアドレス(IPv6)を解放する。
/displaydns
DNS リゾルバーキャッシュの内容を表示する。
/flushdns
DNS リゾルバーキャッシュを破棄する。

試しにオプションなしで実行してみましょう。

すると、以下のような画面が表示されます。

ipconfigコマンド

IPv4アドレスというのが、IPアドレスです。

この IPアドレスというのは、ローカル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コマンドは、指定した相手と接続状態を調べるためのコマンドです。
ping [オプション] 相手先

オプションは以下の通りです。

-n
送信するエコー要求の数を指定する(デフォルトは4回)。
-l
送信するエコー要求のデータのサイズを指定する(デフォルトは32バイト)。
-w
応答待機時間を指定する(デフォルトは4000ミリ秒)

1台だけ試す場合は、オプションなしで使うことが多いかと思います。

pingコマンド

バッチファイルなどで例えば、複数台、通信状態を調べていくような場合だと、オプションを指定して無駄を省くような設定をすることがあります。

ちなみにどういう感じで接続を確認していくかは以下の記事をご参照下さい。

pingで接続を確認

pingで接続を確認【コマンドプロンプト】

2020年3月30日

tracertコマンド

タカフミ
tracertコマンドは、指定先との通信経路が確認できるコマンドです。
tracert [オプション] 相手先

pingコマンドを実行したときに、TTL(Time To Live)という値が存在します。

これは、TCP/IP では、ネットワーク上での最大転送回数を表しています。

外部のルーターを経由するごとに TTL の数値は減っていきます。

0 になったら期限切れになりましたと表示されます。

例えば、これを使って、同じルーターが何度も表示される場合、ルーティングループが発生している可能性があります。

arpコマンド

タカフミ
arpコマンドは、IPアドレスと MACアドレスの対応を一覧で表示してくれます。
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アドレスがわからないという場合でもこれを使えば問題ありません。

MACアドレスは、ルーター本体に記載されています。

もちろん、ルーターには専用のソフトが付属していたりしますが、実はコマンドプロンプトだけでも設定可能だということです。

netstatコマンド

タカフミ
netstatコマンドは、ポートごとの通信状況を確認することができます。
netstat [オプション]

オプションは、以下の通りです。

-a
接続と待ち受けしている全てのポート状況を表示する。
-b
各接続のPIDとプロセス名を表示する(管理者権限で実行する必要あり)。

普段からこのコマンドを使う習慣を身に付けていると怪しい通信を見つけやすくなります。

リダイレクトでテキストとして結果を残すのもありです。

nslookupコマンド

タカフミ
nslookupコマンドは、DNS を利用して名前をするコマンドです。

ドメイン名から IPアドレスを調べたり、IPアドレスからドメイン名を調べたりすることができます。

nslookup ドメイン名(IPアドレス)

PowerShell(パワーシェル)を使いたい方へ

ネットワーク系のコマンドは、外部コマンドがほとんどなので、PowerShell(パワーシェル)でも問題なく実行できます。

タカフミ
外部コマンドというのは、コマンドプロンプトの本体プログラムに含まれていないものです。

実行ファイルが存在し、パスが通っているので、内部コマンドと同じ感覚で使用することができるというわけです。

PowerShell について、詳しく知りたい方は、以下の記事をご参照下さい。

PowerShell入門

PowerShell入門【コマンドプロンプトとの違い】

2020年5月23日

最後に

最近の無線LANルーターは、簡単に接続できるようになっているので、素人でも簡単に接続できます。

しかし、トラブルがあったときは、原因を絞り込むことが素人にはむずかしいです。

ネットワークコマンドを使いこなせるようになると、無線LANルーターの設定トラブルも問題なく解決できるようになります。

特に現代は、家電製品にも IPアドレスが割り当てられるような時代です。

Windows であれば、ソフトをインストールすることなく、これらのコマンドは使えます。

誰でも使えるツールなので、興味があれば、是非活用してみてください。