ssコマンドについて

—

by

in

概要

ssはLinuxやUnix系システムで、現在開いているソケットの状態を詳細に表示するためのコマンドです。従来の netstat に比べて高速かつ柔軟なフィルタリングが可能で、近年のディストリビューションで標準的に提供されています。

基本的な使い方

最もシンプルな形はオプションなしで実行するだけです。

ss

これだけで、TCP, UDP, Unix ソケットなど、すべてのプロトコルのリスニング状態と確立済み接続が一覧表示されます。

主なオプション

  • -t : TCP ソケットのみ表示
  • -u : UDP ソケットのみ表示
  • -l : リスニング状態のソケットのみ表示
  • -p : ソケットを所有するプロセス情報(PID/プログラム名)を表示
  • -n : アドレスとポートを数値で表示(名前解決を行わない)
  • -a : すべてのソケット(リスニング+確立済み)を表示

実用的な例

リスニング中のTCPポートを数値で表示し、プロセス情報も併せて確認

ss -tlnp

特定のポート(例: 80)で待ち受けているプロセスを探す

ss -tlnp | grep ':80'

状態別にフィルタリング(例: ESTAB = 確立済み接続)

ss -t state established

よくある質問

  • Q: 標準出力が多すぎて見にくいです。どうすればいいですか?
    A: -o オプションでタイムアウト情報だけを表示したり、grep や awk と組み合わせて絞り込むと便利です。
  • Q: プロセス情報が表示されません。
    A: -p オプションは root 権限または同じユーザーのプロセスに対してのみ有効です。sudo で実行してみてください。