Linuxコマンド辞典 ssコマンド(ネットワーク)
ソケット状態を表示する「ss」コマンドの概要と使い方を記載しています。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
目次
概要・使用方法
書式
$ ss [オプション] [フィルタルール]
ソケットの状態を出力します。プロセスが起動した後に待ち受け等のためにポートを開けたか、リモートのクライアントから接続出来ているか、どれだけの接続が来ているかなどを確認できます。netstatコマンドに代わるコマンドです。
オプション
-n –numeric | デフォルトではポート番号からサービス名を表示するが、それをポート番号表示にする。名前解決せずに数値のまま表示する |
-r –resolv | IPアドレスからホスト名を解決して表示する |
-a –all | すべてのソケットを表示する LISTEN、TIME-WAIT、SYN_RECVとCLOSEを含めてすべて出力する |
-l –listening | 待ち受けている(LISTEN状態)ソケットを表示する |
-t,–tcp | TCPの情報を表示する |
-u,–udp | UDPの情報を表示する |
-m –memory | ソケットのために使われているメモリ量を表示する |
-p –processes | ソケットを使っているプロセスを表示する(root権限が必要) |
-f アドレスファミリ –family アドレスファミリ | 指定したアドレスファミリタイプを表示する。ファミリタイプには「inet(IPv4)」「inet6(IPv6)」「link(Packet)」を指定する |
-A クエリ –query クエリ、–socket クエリ | 出力するソケットテーブルを指定して表示する。「all」「tcp」「udp」「raw」「unix」などを指定する。複数指定する場合は「,」で区切る |
-4, –ipv4 | IPv4のみ表示する |
-6, –ipv6 | IPv6のみ表示する |
オプション無しで実行
$ ss
実行結果
[rin@centos ~]$ ss
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
u_str ESTAB 0 0 * 266025 * 266036
u_str ESTAB 0 0 * 265771 * 265785
u_str ESTAB 0 0 * 264854 * 264859
u_str ESTAB 0 0 * 24550 * 24549
u_str ESTAB 0 0 * 24428 * 24467
u_str ESTAB 0 0 /run/systemd/journal/stdout 263310 * 263308
u_str ESTAB 0 0 * 261966 * 261967
u_str ESTAB 0 0 * 212506 * 212554
u_str ESTAB 0 0 /run/systemd/journal/stdout 27289 * 27288
u_str ESTAB 0 0 * 383127 * 383128
・
・
・
TCPのポートとそれをつかんでいるプロセスを表示する
netstat -tpと同じ動作
$ ss -tp
実行結果
[rin@centos ~]$ ss -tp
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
ESTAB 0 36 192.168.0.60:ssh 192.168.0.29:50698
[rin@centos ~]$
TCPで待ち受けているポート、接続しているポートを表示する
netstat -tanと同じ動作
$ ss -tan
実行結果
[rin@centos ~]$ ss -tan
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 32 192.168.122.1:53 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 5 127.0.0.1:631 0.0.0.0:*
LISTEN 0 128 0.0.0.0:111 0.0.0.0:*
ESTAB 0 36 192.168.0.60:22 192.168.0.29:50698
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 5 [::1]:631 [::]:*
LISTEN 0 70 *:33060 *:*
LISTEN 0 128 *:3306 *:*
LISTEN 0 128 [::]:111 [::]:*
[rin@centos ~]$
待ち受けているTCPポートを表示する
$ ss -tl
実行結果
[rin@centos ~]$ ss -tl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 32 192.168.122.1:domain 0.0.0.0:*
LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
LISTEN 0 5 127.0.0.1:ipp 0.0.0.0:*
LISTEN 0 128 0.0.0.0:sunrpc 0.0.0.0:*
LISTEN 0 128 [::]:ssh [::]:*
LISTEN 0 5 [::1]:ipp [::]:*
LISTEN 0 70 *:33060 *:*
LISTEN 0 128 *:mysql *:*
LISTEN 0 128 [::]:sunrpc [::]:*
[rin@centos ~]$
フィルタ機能を使って表示を絞り込む
送信先/送信元がSSHポートを使っているものを表示する
$ ss -at '( dport = :ssh or sport = :ssh )'
実行結果
[rin@centos ~]$ ss -at '( dport = :ssh or sport = :ssh )'
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
ESTAB 0 36 192.168.0.60:ssh 192.168.0.29:50698
LISTEN 0 128 [::]:ssh [::]:*
[rin@centos ~]$