ssコマンド

ss コマンドは、Linux におけるソケットの統計情報 を表示するためのツールで、netstat に代わる高速なツールとして利用されている。
特に開いているポートや接続状況 を確認する際に便利である。
オプションを指定することで、リスニング中のポートや特定のプロトコルのソケットなど、さまざまな情報を取得できる。
特定のポートで外部からの接続を待ち受けている状態をリスニング状態(LISTEN)といい、サーバのプログラムが特定のポートでクライアントからの受信を受け付けている状態を示す。


書式: $ ss オプション

ss コマンドの主なオプション
オプション 内容
-l リスニング状態のソケットを表示する
-lt リスニング中の TCP ポートを表示する
-lu リスニング中の UDP ポートを表示する
-lx リスニング中の UNIXソケット を表示する
-t TCP接続の一覧を表示する
-u UDP接続の一覧を表示する
-x Unixソケットの接続一覧を表示する
-w RAWソケットの接続一覧を表示する
-ta 全てのTCPソケットを表示する
-ua 全てのUDPソケットを表示する
-xa 全てのUNIXソケットを表示する
-wa 全てのRAWソケットを表示する
-s ソケットの統計情報を表示する
-ss -tuln sport = 22 指定したポートの接続のみを表示する
-tuln 組み合わせ表示 リスニング中の TCP/UDP ポートをすべて表示する
-tulpn 組み合わせ表示 プロセスID (PID) 付きでリスニングポートを表示する
-tan 組み合わせ表示 すべての TCP 接続を数値表記 (-n) で表示

実行結果:(例)$ ss -t                    
State  Recv-Q  Send-Q      Local Address:Port      Peer Address:Port   Process
ESTAB  0       0         192.168.100.199:ssh      192.168.100.8:59579


ESTAB: 確率済みの接続

192.168.1.10:22: SSHのサーバ側

192.168.1.20:54321: SSHのクライアント側


実行結果:(例)   $ ss -ta
State   Recv-Q  Send-Q     Local Address:Port      Peer Address:Port   Process
LISTEN  0       4096       127.0.0.53%lo:domain         0.0.0.0:*
LISTEN  0       128              0.0.0.0:ssh            0.0.0.0:*
ESTAB   0       0        192.168.100.199:ssh      192.168.100.8:59579
LISTEN  0       128                 [::]:ssh               [::]:*
LISTEN  0       32                     *:ftp                  *:*
                        

LISTEN: リスニング中のポート

ESTAB: 確率済みの接続


実行結果:(例) $ sudo ss -tulpn
Netid   State    Recv-Q   Send-Q     Local Address:Port     Peer Address:Port  Process
udp     UNCONN   0        0          127.0.0.53%lo:53            0.0.0.0:*      users:(("systemd-resolve",pid=599,fd=13))
udp     UNCONN   0        0                0.0.0.0:69            0.0.0.0:*      users:(("in.tftpd",pid=3527,fd=4))
udp     UNCONN   0        0                   [::]:69               [::]:*      users:(("in.tftpd",pid=3527,fd=5))
tcp     LISTEN   0        4096       127.0.0.53%lo:53            0.0.0.0:*      users:(("systemd-resolve",pid=599,fd=14))
tcp     LISTEN   0        128              0.0.0.0:22            0.0.0.0:*      users:(("sshd",pid=671,fd=3))
tcp     LISTEN   0        128                 [::]:22               [::]:*      users:(("sshd",pid=671,fd=4))
tcp     LISTEN   0        32                     *:21                  *:*      users:(("vsftpd",pid=2259,fd=3))
                        

tftpd : プロセスIDが3527で動作中 ポート69 UDP

sshd : プロセスIDが671で動作中 ポート22 TCP

vsftpd : プロセスIDが2259で動作中 ポート21 TCP