目標
- ssコマンドについて理解する
ssコマンド
ssコマンドは、LinuxやUnix系システムで使用されるネットワーク接続の状態を表示するためのツールです。特に、ソケットの状態や接続情報を調べるために広く利用されています。ssは netstat と似たような役割を果たしますが、ssの方がパフォーマンスが高く、より詳細な情報を表示することができます。
ss コマンドの使い方
ss コマンドの基本
ss コマンドの使い方は次の通りです。
ss
このコマンドを実行すると、現在のシステム上で開いているソケット接続の状態が表示されます。デフォルトでは、TCP接続に関する情報が表示されます。
接続状態の表示
ss -t
-t オプションは、TCPソケットの接続状態のみを表示します。
- Recv-Q: 接続されたソケットで受信待ちのデータがどれだけあるか
- Send-Q: ソケットが送信待ちのデータがどれだけあるか
ss -u
-u オプションは、UDPソケットの接続状態を表示します。
詳細情報を表示
ss -t -a
-a オプションを追加すると、すべてのソケット接続(リッスン状態のソケットだけでなく、確立した接続もソケットを含む)が表示されます。
特定のポートに関連するソケットを表示
ss -t -l :80
:80は、ポート80でリッスンしている接続を表示します。これにより、特定のポートに関連する接続状態を表示できます。
結果をフィルタリング
ss -t state ESTAB
tate ESTAB オプションを使用して、確立した接続(ESTABLISHED)のみを表示します。
詳細情報を表示する
ss -t -i
-i オプションを使うと、より詳細な情報(例えば、受信バイト数や送信バイト数、ラウンドトリップタイム(RTT)など)を表示します。
ソケットの状態をインタラクティブに表示
ss -t -o state established
-o オプションは、タイムアウトの情報や統計を表示します。たとえば、接続が確立されてからどれくらいの時間が経過したかなどの情報を表示します。
ss コマンドのオプション
オプション | 説明 |
---|---|
-t | TCPソケットの表示 |
-u | UDPソケットの表示 |
-l | リッスン中のソケットを表示 |
-a | すべてのソケット(リッスンも含む)を表示 |
-n | アドレスやポート番号を数値で表示 |
-p | 接続に関連するプロセス情報を表示 |
-i | 詳細な情報(RTTやバイト数など)を表示 |
-o | タイムアウト情報や接続の統計を表示 |
state | 特定の接続状態(例: ESTAB , LISTEN , TIME-WAIT )でフィルタリング |
-4 | IPv4ソケットのみを表示 |
-6 | IPv6ソケットのみを表示 |
ss コマンドの出力例
基本的なTCP接続情報
$ ss -t
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 192.168.1.100:ssh 192.168.1.101:22
LISTEN 0 128 *:http *:*
- State: ソケットの状態(例えば、ESTAB = 確立済み、LISTEN = リッスン状態)
- Recv-Q: 受信待ちのデータキューのサイズ
- Send-Q: 送信待ちのデータキューのサイズ
- Local Address:Port: ローカルホストのアドレスとポート番号
- Peer Address:Port: 接続先のアドレスとポート番号
-p オプションを使ってプロセス情報を表示
$ ss -t
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 192.168.1.100:ssh 192.168.1.101:22
LISTEN 0 128 *:http *:*
この出力には、接続に関連するプロセス(sshd)の情報が表示されます。
リッスン状態のソケット表示
$ ss -l
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:http *:*
は任意のIPアドレスでリッスンしていることを示します。
ss と netstat の違い
- パフォーマンス: ss は netstat よりも高速で、特に多数の接続がある場合にパフォーマンスが向上します。
- 詳細: ss はより詳細な情報を表示できる場合があります。例えば、接続の遅延や受信/送信のバイト数など。
- 移行: netstat は古く、非推奨となっていることが多いため、ss の使用が推奨されています。
ss コマンドのまとめ
ss コマンドは、LinuxやUnix系システムでのネットワーク接続状態を効率的に監視するためのツールです。シンプルで高速な出力を得られるため、ネットワーク関連のトラブルシューティングや管理に非常に便利です。特に、大量の接続があるシステムやリアルタイムのモニタリングにおいて、ssは有用なツールとなります。
今回は以上になります。

ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

