netstatコマンドの使い方
xamppコントロールパネルでApacheが起動しなくて、色々と試行錯誤した時に使ったnetstat
コマンドについてまとめました。
netstatコマンド概要
Windowsコマンドプロンプトでnetstat
を打つと、プロトコルの統計と現在の TCP/IP ネットワーク接続を表示してくれます。
OSのバージョンによって使えるオプションがあったりなかったりするので、netstat -?
で確認します。
netstat -? プロトコルの統計と現在の TCP/IP ネットワーク接続を表示します。 NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval] -a すべての接続とリッスン ポートを表示します。 -b それぞれの接続またはリッスン ポートの作成に使われた実行可能ファイルを表示します。場合により、よく知られた実行可能ファイルが複数の独立したコンポーネントをホストすることもあり、この場合、接続またはリッスン ポートの作成に使われたコンポーネント群が表示されます。この場合、実行可能ファイル名は下に [] で表示され、上には TCP/IP に到達するまで順に呼び出したコンポーネントが表示されます。このオプションには時間がかかり、十分なアクセス許可がないとエラーが発生することに注意してください。 -e イーサネットの統計を表示します。これは、-s オプションと併用できます。 -n アドレスとポート番号を数値形式で表示します。 -o 各接続に関連付けられたそれらを所有するプロセス ID を表示します -p proto proto で指定されたプロトコルの接続を表示します。; proto は次のいずれかです: TCP、 UDP、TCPv6、または UDPv6。プロトコルごとの統計を表示するため、-s オプションと併用する場合、proto は次のいずれかです: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP またはUDPv6。 -r ルーティング テーブルを表示します。 -s プロトコルごとの統計を表示します。既定では、IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP および UDPv6 の統計が表示されます。 -p オプションを使って、既定のプロトコルのサブセットを指定することもできます。 -v -b と併用した場合、このオプションでは、すべての実行可能ファイルの接続またはリッスン ポートの作成に使われたコンポーネント群が表示されます。 interval 各表示で interval 秒間一時停止しながら、選択した統計を再表示します。統計の再表示を停止するには、CTRL+C を押してください。interval が省略された場合、現在の構成情報を一度だけ表示します。
コマンド結果の見方
オプションなしの場合、以下の順に表示されました。
Proto | Local Address | Foreign Address | State |
---|---|---|---|
プロトコルの種類(TCP,UDP) | ローカル側のコンピュータ名(or IPAddress):サービス名(or ポート番号) | 通信相手のコンピュータ名(or IPAddress):サービス名(or ポート番号) | 通信状態(TCPのみ) |
サービス名がどのポート番号に対応しているかは、以下のサイトが参考になります。 TCP/UDPポート番号一覧
お気に入りのオプション
個人的にお気に入りのオプションを紹介します。
-a
すべての接続とリッスン
-n
コンピュータ名でなくIPAddressで、サービス名でなくポート番号で表示。見た目が整うのでこちらが好き。
-o
プロセスIDを表示。killしたい時に使えます。
-b
通信を行っている実行ファイル名(もしくはサービス)が表示されます。
-v
その通信に関連している(呼び出している)コンポーネントのファイル名(DLLファイル名など)も表示されます。