自分のPCのアダプターはipconfig /all、IPv4の近隣キャッシュはarp -a、接続と待受ポートはnetstat -anoで確認します。これらは「LANに存在する全端末の一覧」を返すコマンドではありません。目的に合う情報源を選び、表示されない機器を不在と断定しないことが重要です。
ネットワークデバイスの情報を迅速に確認する方法を知りたいユーザー向けに、Windowsのコマンドプロンプトを使用してネットワークデバイス情報を一覧表示する方法を詳しく解説します。ネットワークのトラブルシューティングや設定確認に役立つ複数のコマンドを、具体的な使用例とともに紹介します。
コマンドプロンプトの基本操作
コマンドプロンプトは、Windowsで様々なコマンドを実行するためのツールです。ネットワークデバイス情報を確認する前に、基本操作を理解しておきましょう。
コマンドプロンプトの開き方
コマンドプロンプトを開くには、以下の手順に従います。
- スタートメニューを開きます。
- 「cmd」または「コマンドプロンプト」と入力して検索します。
- 検索結果からコマンドプロンプトを開きます。読み取りだけなら通常権限から始め、netstat -bなど必要な操作だけ管理者の承認下で昇格します。
基本コマンドの実行方法
コマンドプロンプトを開いたら、基本的なコマンドを入力して実行できます。例えば、現在のディレクトリの内容を表示するにはdirコマンドを使用します。
dirこのコマンドは、現在のフォルダにあるファイルとディレクトリの一覧を表示します。各コマンドの後にEnterキーを押すことで実行されます。
ipconfigコマンドの使用方法
ipconfigコマンドは、ネットワーク接続に関する情報を表示するための基本的なツールです。これを使用して、現在のネットワーク設定を確認できます。
ipconfigの基本使用
ipconfigコマンドを実行することで、ネットワークアダプターに関する基本情報を取得できます。以下のコマンドをコマンドプロンプトに入力します。
ipconfigこれにより、各ネットワークアダプターのIPアドレス、サブネットマスク、およびデフォルトゲートウェイが表示されます。
詳細情報を表示するipconfig /all
より詳細な情報を表示するには、/allオプションを使用します。
ipconfig /allこのコマンドは、MACアドレス、DNSサーバー情報、DHCPサーバー情報など、このPCのIP構成を詳細に表示します。LAN上の全機器やファイアウォール・プロキシの全設定を一覧化するものではありません。
ipconfig /releaseや/renewは一覧表示ではなくDHCPリースを変更する操作です。特に/releaseはリモート接続を切断し得るため、情報収集のために実行しません。アダプターの種別と復旧手段を確認した管理作業として分けて扱います。
netstatコマンドの活用
netstatコマンドは、ネットワーク接続の状態や使用中のポートに関する情報を表示する強力なツールです。これを使用して、ネットワークの状態を詳細に把握できます。
netstatの基本使用
netstatコマンドを実行することで、現在のネットワーク接続のリストを表示できます。以下のコマンドをコマンドプロンプトに入力します。
netstat引数なしのnetstatはアクティブなTCP接続を表示します。UDPの待受ポートも含めたい場合は-aを使います。UDPにはTCPと同じ接続状態欄はありません。
アクティブな接続を詳細に表示するnetstat -a
-aオプションを使用すると、すべてのアクティブな接続とリスニングポートを詳細に表示できます。
netstat -aこのPCのTCP接続とTCP/UDPの待受ポートを確認するためのものです。他の端末の全通信やLANの機器台帳ではありません。
ポートごとの接続状態を表示するnetstat -an
接続の状態をIPアドレスとポート番号で表示するには、-anオプションを使用します。
netstat -anこのコマンドは、アドレスとポート番号を数値形式で表示し、フィルタリングや解析を容易にします。
特定のプロセスと接続を表示するnetstat -b
-bオプションを使用すると、特定のプロセスがどのポートを使用しているかを表示できます。このコマンドは管理者権限で実行する必要があります。
netstat -bこれにより、各ネットワーク接続に関連する実行中のプロセスを確認でき、特定のアプリケーションがネットワークリソースをどのように使用しているかを把握するのに役立ちます。
arpコマンドでARPテーブルを確認
arpコマンドは、アドレス解決プロトコル (ARP) テーブルを表示および管理するためのツールです。これを使用して、ローカルネットワーク上のIPアドレスとMACアドレスの対応関係を確認できます。
ARPテーブルの表示
ARPテーブルを表示するには、以下のコマンドを使用します。
arp -aこのPCが保持するARPキャッシュをインターフェース別に表示します。通信した相手などのIPv4とMACの対応が中心で、未通信・停止中の機器や別セグメントの全端末は網羅しません。ブロードキャスト/マルチキャストのエントリを実在する1台の端末として数えないでください。
特定のインターフェースのARPテーブルを表示
特定のネットワークインターフェースのARPテーブルを表示するには、インターフェースのIPアドレスを指定して以下のコマンドを使用します。
arp -a -N 192.168.1.10192.168.1.10は自分のアダプターに割り当てられたIPv4アドレスの例です。-Nは大文字で指定します。arp -a 192.168.1.1のように-Nなしで書くと、インターフェース選択ではなく、その相手IPのエントリを絞り込む意味になります。
arp -sによる静的な対応付けやarp -dによる削除は一覧表示には不要です。誤ったIP/MACを固定すると通信障害を起こすため、「安定化」のために例の値を投入しません。
IPv6とネットワーク全体の機器一覧は別の方法で確認する
IPv6はARPではなく近隣探索を使います。Windows PowerShellでは次の読み取り例で近隣キャッシュを確認できます。IPv6を含めても、このPCのキャッシュであり全機器を探索するスキャンではありません。
Get-NetNeighbor | Format-Table InterfaceIndex,IPAddress,LinkLayerAddress,State -AutoSize
全体の台帳が必要なら、権限を持つ管理者がDHCPリース、ルーター/APの接続端末、スイッチのMACテーブル、資産管理情報を照合します。固定IPはDHCPだけでは抜け、MACテーブルだけでは利用者名が分からず、古いリースも残り得ます。ネットワーク範囲を無断で総当たりpingする方法は勧めません。
nslookupコマンドでDNS情報を取得
nslookupコマンドは、DNS (Domain Name System) サーバーに問い合わせを行い、ドメイン名とIPアドレスの情報を取得するためのツールです。これを使用して、ネットワークトラブルシューティングやドメイン名の解析を行うことができます。
基本的なnslookupの使用方法
nslookupコマンドを実行することで、ドメイン名に対応するIPアドレスを取得できます。以下のコマンドを使用します。
nslookup example.comこのコマンドを実行すると、指定されたドメイン名に対応するIPアドレスと、使用されるDNSサーバーの情報が表示されます。
特定のDNSサーバーを使用するnslookup
特定のDNSサーバーを指定してクエリを実行するには、次の形式のコマンドを使用します。
nslookup example.com 8.8.8.8ここでは、GoogleのパブリックDNSサーバー (8.8.8.8) を使用して、example.comのIPアドレスを取得します。
逆引きDNSクエリ
IPアドレスからドメイン名を取得する逆引きDNSクエリを実行するには、次のコマンドを使用します。
nslookup 192.0.2.1このコマンドは、指定されたIPアドレスに対応するドメイン名を表示します。
詳細なクエリオプション
詳細なDNS情報を取得するために、nslookupコマンドにはいくつかのオプションがあります。インタラクティブモードに切り替えて、詳細なクエリを実行することも可能です。インタラクティブモードに入るには、以下のコマンドを実行します。
nslookupその後、インタラクティブモードで以下のようなコマンドを入力できます。
set type=MX
example.comこれにより、example.comのメールエクスチェンジャー (MX) レコードを表示します。その他にもA, AAAA, CNAME, NSなど、さまざまなレコードタイプを指定してクエリを行うことができます。
routeコマンドでルーティングテーブルを表示
routeコマンドは、ネットワークトラフィックがどのようにルーティングされるかを管理するためのツールです。これを使用して、ルーティングテーブルの確認やルートの追加・削除を行うことができます。
ルーティングテーブルの表示
現在のルーティングテーブルを表示するには、以下のコマンドを使用します。
route printこのコマンドを実行すると、ネットワークインターフェースとそのルーティングテーブルのエントリが表示されます。各エントリには、ネットワーク先、ネットマスク、ゲートウェイ、およびインターフェースが含まれます。
route add/deleteや-pによる永続ルート設定は、表示ではなく通信経路の変更です。機器情報を確認するだけならroute printで止め、VPNやリモート管理に影響するルートを追加・削除しないでください。
tracertコマンドで経路追跡
tracertコマンドは、ネットワークパケットが目的地に到達するまでに通過する経路を追跡するためのツールです。応答する経路の参考情報を得られますが、それだけで障害箇所を確定できるわけではありません。
基本的なtracertの使用方法
tracertコマンドを実行することで、指定したホストまでのルートを表示できます。以下のコマンドを使用します。
tracert example.comこのコマンドを実行すると、example.comに到達するまでに通過する各ルーターのIPアドレスと応答時間が表示されます。
詳細な経路情報の表示
tracertコマンドは、各ホップでの応答時間を3回計測し、それぞれの結果を表示します。各行には、ホップ番号、ルーターのIPアドレス、および応答時間が記録されます。
特定のホップ数まで追跡
経路追跡を特定のホップ数まで制限するには、-hオプションを使用します。
tracert -h 5 example.comこのコマンドは、5ホップ以内でexample.comへの経路を追跡します。これにより、特定の範囲内の経路情報だけを取得できます。
IPアドレスを指定した経路追跡
ドメイン名ではなく、IPアドレスを直接指定して経路追跡を行うこともできます。
tracert 192.0.2.10192.0.2.10は文書用の例で、到達を期待する実サーバーではありません。調査を許可された実際の宛先へ置き換えます。DNS名の問い合わせやtracertはネットワークへパケットを送る操作です。
tracertの結果の解釈
tracertの「*」は制限時間内にICMP応答がなかったことを示します。中継機器の応答制限や優先度でも起こるため、そこが転送を止めた、パケットロスの原因だと断定しません。後続ホップや最終宛先、実際のアプリの通信結果も比較します。
これらの情報を元に、ネットワークのトラブルシューティングや最適化を行うことができます。
応用例: スクリプトで定期的に情報を取得
ネットワークデバイス情報を定期的に取得して監視するために、バッチスクリプトを使用する方法を紹介します。この方法を用いることで、ネットワークの状態を自動的に記録し、トラブルシューティングや管理を容易にすることができます。
バッチスクリプトの作成
まず、ネットワークデバイス情報を取得するバッチスクリプトを作成します。以下の内容をテキストエディタにコピーして保存し、ファイル名をnetwork_info.batとします。
@echo off
setlocal
set "LOG=%~dp0network_info.txt"
(
echo ==== %date% %time% ====
echo [IP configuration]
ipconfig /all
echo [ARP cache]
arp -a
echo [Routes]
route print
echo [Connections and PID]
netstat -ano
) >> "%LOG%" 2>&1
endlocalこの例はローカルのIP構成・ARPキャッシュ・ルート・接続/PIDを、バッチと同じフォルダーのnetwork_info.txtへ追記します。標準エラーも保存しますが、全コマンド成功を保証する監視ではありません。外部宛てtracertと入力待ちのpauseは含めていません。保存先の書き込み権限と空き容量を確認してください。
スクリプトの実行
作成したバッチスクリプトをダブルクリックするか、コマンドプロンプトから実行して、ネットワーク情報を取得します。結果はnetwork_info.txtに保存されます。
タスクスケジューラでの自動実行
スクリプトを定期的に実行するために、Windowsのタスクスケジューラを使用します。以下の手順で設定します。
- タスクスケジューラを開きます。
- 基本タスクの作成をクリックします。
- タスクの名前と説明を入力し、次へをクリックします。
- トリガーを設定します。例えば、毎日特定の時間に実行するように設定できます。
- 操作としてプログラムの開始を選択し、スクリプトファイルのパスを指定します。
- 完了をクリックしてタスクを保存します。
保存後は手動でタスクを1回実行し、実行アカウント・終了結果・ログ更新を確認します。定期実行は承認された頻度にし、保持期間と容量上限、アクセス権を管理します。IP/MAC、ホスト名、通信先を含むためログを公開しないでください。この記事ではWindows実機やタスクの実行検証は行っていません。
まとめ
本記事では、Windowsのコマンドプロンプトを使用してネットワークデバイス情報を一覧表示するためのさまざまなコマンドとその応用方法を紹介しました。以下のポイントを押さえておきましょう。
基本的なコマンドの概要
- ipconfig: ネットワークアダプターのIP設定情報を表示。
- netstat: ネットワーク接続の状態と使用中のポートを表示。
- arp: ARPテーブルを表示し、IPアドレスとMACアドレスの対応を確認。
- nslookup: DNS情報を取得し、ドメイン名とIPアドレスの関係を調査。
- route: ルーティングテーブルを表示し、ネットワークトラフィックの経路を確認。
- tracert: パケットが目的地に到達するまでの経路を追跡。
応用方法と自動化
- バッチスクリプトを作成して、ネットワーク情報を定期的に取得し、記録する方法を紹介しました。
- タスクスケジューラを使用して、スクリプトの自動実行を設定することで、ローカル情報の定期記録を設計する例を示しました。全機器の死活監視を実施したわけではありません。
これらのコマンドとスクリプトを活用することで、ネットワークの状態を迅速に把握し、トラブルシューティングやパフォーマンスの最適化を行うことができます。定期的にネットワーク情報を確認し、問題が発生した際には迅速に対応できるように準備を整えておきましょう。


コメント