「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>ネットワークの基礎編#v4563a06]] * 目次 [#h5f64b7c] #contents *概要 [#ze84406d] 「netstat」コマンドは、TCP/IPにおける通信の状態を調査する最も基本的なコマンド。 *説明 [#y64c1ccd] netstat [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval] -a ESTABLISHEDとLISTENINGのポートを表示する。 -b ESTABLISHEDとLISTENINGのポートの作成に使われた実行可能ファイルを表示する。 時間がかかり、十分なアクセス許可がないとエラーが発生する。 -v -bと併用した場合、すべての実行可能ファイルのESTABLISHEDとLISTENINGの ポートの作成に使われたコンポーネント群が表示される。 -o 各接続に関連付けられたそれらを所有するプロセス ID を表示する。 -n アドレスとポート番号を数値形式で表示する。 -e イーサネットの統計(積算値)を表示する。-sオプションと併用できる。 -s プロトコルごとの統計(積算値)を表示する。-pオプションと併用できる。 -p proto で指定されたプロトコルに関する情報を表示する。 -r ルーティング テーブルを表示する。 proto 通常は、TCP、UDP、TCPv6、または UDPv6を指定できる。 -sオプションと併用する場合は、IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP またはUDPv6を指定できる。 interval 送信秒間隔。Ctrl+Cを押して停止する。 *調査方法 [#u81d77f0] **通信中のTCPコネクションの状態を表示 [#q432d8ee] 引数を何も付けずに実行すると、 -「ESTABLISHED」状態のTCP/IPコネクションが表示される。 -「ESTABLISHED」状態はUDPにはない状態なので、UDPプロトコルは表示されない。 C:\>netstat Active Connections Proto Local Address Foreign Address State TCP pc01:2112 svr01:netbios-ssn ESTABLISHED TCP pc01:2167 svr01:pop3 ESTABLISHED **リッスンしているポートの調査 [#i3e917b9] 「-a」オプションを付けて実行すると、 -TCP/IPのコネクションが表示される。 --「LISTENING」状態のソケット --「ESTABLISHED」状態のソケット --TCPの「LISTENING」状態のソケットは、 ---接続先ホスト・ポートの場合:~ Local Address「ローカル マシン:LISTENINGポート番号」で表示される。 ---接続元ホスト・ポートの場合:~ Foreign Address「ローカル マシン:0」で表示される。 -UDPの「LISTENING」状態が表示される。 --「LISTENING」状態はUDPにも有る状態なので、表示される。 --「ESTABLISHED」状態はUDPには無い状態なので、表示されない。 C:\>netstat -a Active Connections Proto Local Address Foreign Address State TCP svr01:epmap svr01:0 LISTENING TCP svr01:microsoft-ds svr01:0 LISTENING ・ ・ UDP svr01:epmap *:* UDP svr01:microsoft-ds *:* **プロセスIDとコネクションの関連の調査 [#l3a316da] ***「-o」オプション [#g626c6a6] 「-o」オプションを付けて実行すると、 --そのコネクションを所有しているプロセスのID(PID)を表示することができる。 --PIDが分かれば、タスク マネージャや「tasklist /svc」コマンドから、プロセスやサービスを調べることができる。 C:\>netstat -o Active Connections Proto Local Address Foreign Address State PID TCP pc01:1047 svr01:9080 ESTABLISHED 3588 TCP pc01:1097 svr02:microsoft-ds ESTABLISHED 4 TCP pc01:2757 svr01:9100 ESTABLISHED 3240 TCP pc01:1051 localhost:1052 ESTABLISHED 2592 ***「-b」オプション [#udf1560e] また、「-b」オプションを付けて実行すると、~ ポートの作成に使われた実行可能ファイル(exe)の情報を出力できる。 ***「-bv」オプション [#d21b48cb] 「-bv」オプションを付けて実行すると、~ 実行可能ファイル(exe)・コンポーネント(dll)の情報を出力できる。 **通信状態の調査 [#o6c0e662] ***繰り返し実行 [#lf69c547] interval引数に数値を付けて実行すると、~ その時間間隔(秒)で繰り返し実行できる。 -通信の状態を定常的にモニタしたい場合に有用なオプションである。 -止めるには、[Ctrl] + [C]を押して強制終了させる。 ***通信状態の反映 [#g855872f] 実際の通信状態が反映されるまでしばらく時間がかかる。 -このため、このような特性を理解して使うか、 -長い時間間隔(例:10分など)でモニタしていても構わないような場合に使う。 ***「-s」、「-e」オプション [#n71c603f] 「-s」、「-e」オプション付けて実行すると、下記項目を確認することができる。 -NIC・プロトコル毎のネットワーク上の --負荷(パケット数、メッセージ数)、 --エラー数、 --コネクションの状態 -ただし、ここで表示される数値はOS起動時からの積算値であるため、~ 現時点でエラーが多発しているかどうかを調べたい場合は、~ 何度かコマンドを実行して数値の変化を確認する必要がある。 ---- Tags: [[:通信技術]], [[:Windows]]