12-LPIC「level1」

LPIC|level 1【ssコマンド】

目標

  • 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 コマンドのオプション

オプション説明
-tTCPソケットの表示
-uUDPソケットの表示
-lリッスン中のソケットを表示
-aすべてのソケット(リッスンも含む)を表示
-nアドレスやポート番号を数値で表示
-p接続に関連するプロセス情報を表示
-i詳細な情報(RTTやバイト数など)を表示
-oタイムアウト情報や接続の統計を表示
state特定の接続状態(例: ESTAB, LISTEN, TIME-WAIT)でフィルタリング
-4IPv4ソケットのみを表示
-6IPv6ソケットのみを表示

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は有用なツールとなります。

今回は以上になります。

「Linux」おすすめ書籍6選【初心者・脱初心者用】| 現役エンジニア&プログラミングスクール講師「Linux」初心者の方がLinuxの操作や仕組みを理解するためのお勧めの書籍について取り上げています。また中級者として更に進んだ学習ができる書籍についても1冊取り上げています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

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

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST