【Linux入門】netstat コマンド:ポートの状態を確認する

コマンドの概要

 「netstat」コマンドは、Linuxシステム上でネットワーク関連の情報を表示するためのユーティリティです。ネットワーク接続やルーティングテーブル、インターフェースの状態など、さまざまな情報を表示できます。

主なオプションと説明

オプション説明
-tTCP接続の情報を表示する。
-uUDP接続の情報を表示する。
-lリスニング(待ち受け)状態のポートの情報を表示する。
-a全ての接続およびリスニング(待ち受け)状態のポートを表示する。
-n名前解決をせずに数字で表示する。
-pプロセスIDとプログラム名を表示する。
-rルーティングテーブルの情報を表示する。
-sプロトコルごとの統計情報を表示する。
-e詳細情報を表示する。
-c一定間隔で情報を表示し続ける。
主なオプションと説明

コマンドの使用例と解説

1.TCP接続の情報を表示する。

このコマンドは、TCP接続の情報のみを表示します。

$ netstat -t
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost.localdo:59694 93.243.107.34.bc.:https ESTABLISHED
tcp        0      0 localhost.localdo:42098 123.208.120.34.bc:https ESTABLISHED
tcp        0      0 localhost.localdo:43410 191.144.160.34.bc:https ESTABLISHED
tcp        0      0 localhost.localdo:45864 209.100.149.34.bc:https ESTABLISHED

2.UDP接続の情報を表示する。

このコマンドは、UDP接続の情報のみを表示します。

$ netstat -u

3.リスニング状態のポートの情報を表示する。

このコマンドは、リスニング(待ち受け)状態のポートの情報のみを表示します。

$ netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost.locald:domain 0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN   

4.全ての接続およびリスニング状態のポートを表示する。

このコマンドは、全ての接続およびリスニング状態のポートの情報を表示します。

$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost.locald:domain 0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN     
tcp        0      0 localhost.localdo:59694 93.243.107.34.bc.:https ESTABLISHED
tcp        0      0 localhost.localdo:42098 123.208.120.34.bc:https TIME_WAIT  
tcp        0      0 localhost.localdo:48882 239.237.117.34.bc:https TIME_WAIT  
(略)

5.プロセスIDとプログラム名と共にポートの情報を表示する。

 このコマンドは、プロセスIDとプログラム名と共にポートの情報を表示します。rootユーザーに切り替えてnetstatコマンドを実行します。

$ su -
パスワード:
最終ログイン: 2024/02/21 (水) 23:27:53 JST日時 pts/0
[root@localhost ~]# netstat -p
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 localhost.localdo:59694 93.243.107.34.bc.:https ESTABLISHED 3649/firefox        
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name     Path
unix  2      [ ]         DGRAM                    18432    710/chronyd          /var/run/chrony/chronyd.sock
unix  2      [ ]         DGRAM                    12616    1/systemd            /run/systemd/shutdownd
unix  3      [ ]         DGRAM                    7638     1/systemd            /run/systemd/notify
unix  2      [ ]         DGRAM                    7640     1/systemd            /run/systemd/cgroups-agent
unix  5      [ ]         DGRAM                    7654     1/systemd            /run/systemd/journal/socket
(省略)

6.ルーティングテーブルを表示する。

このコマンドは、ルーティングテーブルを表示します。

# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 enp0s3
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

まとめ

 「netstat」コマンドは、ネットワーク接続やポートの利用状況を確認する際に便利なツールです。ネットワークのトラフィック状況を把握したり、ネットワークトラブルシューティングを行う際に役立ちます。