Linuxのssコマンド:ネットワーク診断の実践ガイド

Linux環境でソケット接続を調査する際、ssコマンドは強力なツールとなります。Socket Statisticsの略称であるこのコマンドは、従来のnetstatよりも詳細かつ高速な接続情報の取得が可能です。

基本統計の確認

システム全体のソケット状況を俯瞰するには、以下を実行します:

$ ss -s
Total: 524
TCP:   8 (estab 1, closed 0, orphaned 0, timewait 0)

Transport Total     IP        IPv6
RAW       2         1         1
UDP       7         5         2
TCP       8         6         2
INET      17        12        5
FRAG      0         0         0

各項目の意味は以下の通りです:

  • RAW:IP層への直接アクセスを許可するソケット(パケットキャプチャなどに使用)
  • TCP/UDP:標準的なトランスポート層プロトコル
  • INET:IPv4とIPv6の統合カウント
  • FRAG:IPフラグメント関連のエントリ

アクティブ接続の詳細表示

すべてのソケット情報を表示すると膨大な出力となります:

$ ss -a | wc -l
555

プロトコル別に絞り込むオプションを活用しましょう:

オプション表示内容
-taTCPソケット(全状態)
-uaUDPソケット
-waRAWソケット
-xaUNIXドメインソケット
-4aIPv4のみ
-6aIPv6のみ

確立済み接続のみを確認:

$ ss -t
State    Recv-Q   Send-Q      Local Address:Port            Peer Address:Port
ESTAB    0        64           192.168.0.16:ssh              192.168.0.6:25944
ESTAB    0        0            192.168.0.16:ssh              192.168.0.9:5385

リスニングポートの調査

待ち受け中のサービスを確認:

$ ss -lt
State   Recv-Q   Send-Q      Local Address:Port             Peer Address:Port
LISTEN  0        10              127.0.0.1:submission            0.0.0.0:*
LISTEN  0        128         127.0.0.53%lo:domain                0.0.0.0:*
LISTEN  0        128               0.0.0.0:ssh                   0.0.0.0:*

サービス名ではなくポート番号で表示:

$ ss -ltn
State    Recv-Q    Send-Q        Local Address:Port        Peer Address:Port
LISTEN   0         10                127.0.0.1:587              0.0.0.0:*
LISTEN   0         128           127.0.0.53%lo:53               0.0.0.0:*
LISTEN   0         128                 0.0.0.0:22               0.0.0.0:*

効率化のためのエイリアス設定

頻繁に使用する組み合わせをシェルエイリアスに登録すると便利です:

$ alias ports='ss -ltn'
$ alias conns='ss -t state established'
$ alias sockstat='ss -s'

より高度なフィルタリングとして、特定状態の接続のみ抽出も可能です:

$ ss -t state time-wait
$ ss -t state established '( dport = :http or dport = :https )'

詳細な構文はman ssまたはss --helpで確認してください。

タグ: ss Linuxネットワーク ソケット診断 TCP/IP netstat代替

8月20日 00:37 投稿