netstatコマンド - ポートごとの通信状況を表示

netstatは、コンピュータの通信状況を一覧表示するコマンドです。

接続ごとに下記の情報を表示することができます。

  • プロトコル
  • 自分のIPアドレスと通信に使っているポート
  • 通信相手の名前と使っているポート
  • 状態
    LISTENING(待ち受け状態)⇒ESTABLISHED(通信の確立)⇒ CLOSING(通信の終了手続き中)⇒ TIME_WAIT(タイムアウト待ち)⇒ CLOSED(通信の終了)⇒LISTENINGに戻る。

netstatコマンド実行

netstatをオプションなしで実行すると、何らかの通信が始まったTCPのポート(終了処理中を含む)を一覧表示します。

[コンソール]

1
netstat

実行例は以下の通りです。

[実行結果(例)]

1
2
3
4
5
6
7
8
9
10
11
12
13

アクティブな接続

プロトコル ローカル アドレス 外部アドレス 状態
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:49956 us:https CLOSE_WAIT
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:50412 tp-in-f188:5228 ESTABLISHED
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:51835 server-13-249-157-166:https ESTABLISHED
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:54850 [64:ff9b::14c7:7855]:https ESTABLISHED
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:54963 [64:ff9b::68f4:2a82]:https ESTABLISHED
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:58107 [64:ff9b::68f4:2ac1]:https ESTABLISHED
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:62041 lb-006:https ESTABLISHED
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:62847 tp-in-f188:5228 ESTABLISHED
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:63889 us:https ESTABLISHED

-aオプションを付けて実行すると、待ち受け状態(LISTENING)やUDPを含むすべてのポートを表示します。

[コンソール]

1
netstat -a

実行例は以下の通りです。

[実行結果(例)]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

アクティブな接続

プロトコル ローカル アドレス 外部アドレス 状態
TCP 0.0.0.0:135 LAPTOP-MC79IJF9:0 LISTENING
TCP 0.0.0.0:445 LAPTOP-MC79IJF9:0 LISTENING
TCP 0.0.0.0:4000 LAPTOP-MC79IJF9:0 LISTENING
TCP 0.0.0.0:5040 LAPTOP-MC79IJF9:0 LISTENING
TCP 0.0.0.0:7680 LAPTOP-MC79IJF9:0 LISTENING
TCP 0.0.0.0:49664 LAPTOP-MC79IJF9:0 LISTENING
TCP 0.0.0.0:49665 LAPTOP-MC79IJF9:0 LISTENING
TCP 0.0.0.0:49666 LAPTOP-MC79IJF9:0 LISTENING
TCP 0.0.0.0:49667 LAPTOP-MC79IJF9:0 LISTENING
TCP 0.0.0.0:49668 LAPTOP-MC79IJF9:0 LISTENING
TCP 0.0.0.0:49673 LAPTOP-MC79IJF9:0 LISTENING
TCP 127.0.0.1:27017 LAPTOP-MC79IJF9:0 LISTENING
TCP 192.168.42.172:139 LAPTOP-MC79IJF9:0 LISTENING
TCP [::]:135 LAPTOP-MC79IJF9:0 LISTENING
TCP [::]:445 LAPTOP-MC79IJF9:0 LISTENING
TCP [::]:4000 LAPTOP-MC79IJF9:0 LISTENING
TCP [::]:7680 LAPTOP-MC79IJF9:0 LISTENING
TCP [::]:49664 LAPTOP-MC79IJF9:0 LISTENING
TCP [::]:49665 LAPTOP-MC79IJF9:0 LISTENING
TCP [::]:49666 LAPTOP-MC79IJF9:0 LISTENING
TCP [::]:49667 LAPTOP-MC79IJF9:0 LISTENING
TCP [::]:49668 LAPTOP-MC79IJF9:0 LISTENING
TCP [::]:49673 LAPTOP-MC79IJF9:0 LISTENING
TCP [::1]:49669 LAPTOP-MC79IJF9:0 LISTENING
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:50412 tp-in-f188:5228 ESTABLISHED
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:51820 196:https CLOSE_WAIT
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:54850 [64:ff9b::14c7:7855]:https ESTABLISHED
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:58107 [64:ff9b::68f4:2ac1]:https ESTABLISHED
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:58440 us:https CLOSE_WAIT
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:62041 lb-006:https ESTABLISHED
TCP [240b:c020:4d0:32ae:1106:be43:8832:7dcf]:62847 tp-in-f188:5228 ESTABLISHED
(・・・略・・・)
UDP 0.0.0.0:1900 *:*
UDP 0.0.0.0:5050 *:*
UDP 0.0.0.0:5353 *:*
UDP 0.0.0.0:5353 *:*
UDP 0.0.0.0:5353 *:*
UDP 0.0.0.0:5353 *:*
UDP 0.0.0.0:5353 *:*
UDP 0.0.0.0:5355 *:*
UDP 0.0.0.0:6771 *:*
UDP 0.0.0.0:6771 *:*
UDP 0.0.0.0:25372 *:*
UDP 0.0.0.0:50001 *:*
UDP 0.0.0.0:59865 *:*
(・・・略・・・)

netstatのオプション

netstatコマンドのオプションを一覧にまとめます。

オプション内容
-a待ち受けしているポートを含むポートの状態を表示する。
-eイーサネットの統計情報を表示する。
-nコンピュータ名やプロトコルを使わず、IPアドレスとポート番号で表示する。
-rルーティングテーブルを表示する。
-p プロトコル名ソケットが属すプログラムのPIDとプロセス名を表示する。
-b通信するポートを作成したプロセスの実行ファイルを表示する。
(管理者権限が必要)

自分の端末でWebサーバやFTPサーバを立ち上げた時に、きちんとLISTENING(待ち受け状態)になっているかどうか確認するときに使えるコマンドかと思います。

LAN内の他の端末からアクセスする場合は、さらにファイアウォールの設定を確認する必要があります。

さらにさらにWANに公開する場合は、ルータやロードバランサーの設定、ネットワーク構成などいろいろと考える必要があります。