TCP/IP通信の状態を調べる「netstat」コマンドを使いこなす【Windows OS】Tech TIPS(2/2 ページ)

» 2023年02月01日 05時00分 公開
前のページへ 1|2       

定常的にTCPの状態を調べるには(表示間隔の指定)

 netstatの引数として数値を指定すると、その時間間隔(単位は秒)でnetstatを繰り返し実行する。通信の状態を定常的にモニターしたい場合に有用なオプションである。止めるには、[Ctrl]+[C]キーを押して強制終了させる。

netstatコマンドを繰り返し実行する netstatコマンドを繰り返し実行する
netstatに数値(秒数)を指定すると、その間隔で繰り返し実行される。これにより、通信状態の変化などを観測できる。

リッスンしているポートを調べるには(「-a」オプション)

 リッスンしているポート(待ち受け状態のTCPポート)があるかどうかを調べるには、「-a」オプションを付けて実行する。これにより、LISTENING状態のTCPポートも表示されるようになる。サービス名でなく具体的なポート番号を知りたければ、「-an」というオプションを付ける。これは「-a -n」と指定するのと同じことだ。

netstatの「-a」オプションで待ち受け中のポートも調べる netstatの「-a」オプションで待ち受け中のポートも調べる
-a」オプションを付けると、LISTENING状態のポートも表示される。

 TCPとUDPは通信方式が異なるので、それぞれ待ち受け状態の表示方法が異なる。TCPならば「LISTENING」と表示されているのが待ち受け状態のポートである。UDPの場合は、「外部アドレス」が「*:*」と表示されているのが待ち受け状態のポートを表している。

 上のスクリーンショットでは「ローカル アドレス」には「0.0.0.0:〜」と「[::]:〜」の2つが表示されている。これらは、どのインタフェースでも接続を受け付けるという意味である。システムによっては複数のネットワークインタフェース(複数のIPアドレス)を持っていることがあるが、そのうちの1つだけで待ち受けするなら、「ローカルアドレス」列には「10.20.30.4:80」や「127.0.0.1:1900」のように表示される。

 なお [::] は、IPv6で全て0を表すアドレス表記である。詳細については以下の記事を参照していただきたい。

プロセスとコネクションの関連を調べるには(「-o」、「-b」オプション)

 「-o」オプションを付けてnetstatを実行すると、そのコネクションを所有しているプロセスのID(PID)も表示される。

netstatの「-o」オプションでコネクションを所有しているプロセスを調べる netstatの「-o」オプションでコネクションを所有しているプロセスを調べる
-o」オプションを付けると、そのコネクションを所有しているプロセスのID番号が表示される。

 右端に表示されているのがPIDである。このPIDを調べることにより、そのポート(コネクション)を使用しているプロセスを知ることができる。PIDが分かれば、タスクマネージャーや「tasklist」コマンドを使って、そのプロセス名を調べられる。

 「-o」ではなく「-b」オプションを付けると、実際のプロセス名が表示される。これを実行するには、コマンドプロンプトを管理者権限で起動する必要がある。

netstatの「-b」オプションでコネクションを所有しているプロセス名を調べる netstatの「-b」オプションでコネクションを所有しているプロセス名を調べる
-b」オプションを付けると、そのコネクションを所有しているプロセスの名前、もしくはサービスが表示される。サービスとして動作しているプロセスの場合は「システム」と表示される。

 用途の不明なTCP通信が行われていたり、リッスン状態になっていたりした場合は、これらのオプションを使うと、そのプロセスやサービスを特定できる。そして必要ならばファイアウォールなどでそのポートをブロックしたり、プログラムやサービスそのものを停止して、システムの安全性を確保したりできる。

 これらの情報は、タスクマネージャーから起動できる「リソース モニター」でも確認できる。もっとも、コマンドラインから調査したい場合はnetstatコマンドが簡単である。

通信プロトコルの統計値を調べるには(「-s」オプション)

 「-s」オプションを付けると、プロトコル別の通信量(送受信したパケットの数)などを表示できる。

netstatの「-s」オプションで通信プロトコルの統計情報を調べる netstatの「-s」オプションで通信プロトコルの統計情報を調べる

 詳細は、Tech TIPS「netstatの統計情報を活用する」を参照していただきたい。

ルーティング情報を調べるには(「-r」オプション)

 「-r」オプションを付けると、IPのルーティング情報を表示できる。これは「route print」コマンドを実行するのと同じである。

netstatの「-r」オプションでルーティング情報を調べる netstatの「-r」オプションでルーティング情報を調べる

 詳細は、Tech TIPS「『route』コマンドでWindows OSのルーティングテーブルを操作する」を参照していただきたい。

netstatコマンドのオプション説明を表示するには(「-?」オプション)

 「-?」または「/?」オプションを付けてnetstatを実行すると、オプション一覧とその説明が表示される。

■関連リンク


■更新履歴

【2023/02/01】Windows 11などに対応しました。

【2018/02/08】最新OSに対応して、内容を更新しました。

【2012/03/02】Windows Vista/Windows Server 2008/Windows 7/Windows Server 2008 R2に関する情報を追加して修正しました。

【2004/11/27】Windows XP SP2に関する情報を追加して修正しました。

【2004/02/14】Windows XPとWindows Server 2003に関する情報と、TCPの状態遷移に関する情報を追加して加筆・修正しました。

【2002/07/20】初版公開(対象はWindows 2000/Windows XP/Windows Server 2003)。


「Tech TIPS」のインデックス

Tech TIPS

前のページへ 1|2       

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。