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,–tcpTCPの情報を表示する
-u,–udpUDPの情報を表示する
-m
–memory
ソケットのために使われているメモリ量を表示する
-p
–processes
ソケットを使っているプロセスを表示する(root権限が必要)
-f アドレスファミリ
–family アドレスファミリ
指定したアドレスファミリタイプを表示する。ファミリタイプには「inet(IPv4)」「inet6(IPv6)」「link(Packet)」を指定する
-A クエリ
–query クエリ、–socket クエリ
出力するソケットテーブルを指定して表示する。「all」「tcp」「udp」「raw」「unix」などを指定する。複数指定する場合は「,」で区切る
-4, –ipv4IPv4のみ表示する
-6, –ipv6IPv6のみ表示する

オプション無しで実行

$ 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 ~]$