【完全ガイド】Linuxのssコマンドとは?使い方・オプション・活用例まとめ

Linux

サーバーで何かトラブルが起きた時、こんな経験ありませんか?

  • 「なんだかサーバーが重い…どこに原因があるの?」
  • 「このポート、本当に開いてるのかな?」
  • 「不審な接続がないか確認したい」

そんな時に活躍するのが、Linuxの「ssコマンド」です!

昔からよく使われているnetstatの後継とも言われていて、より高速で詳細にネットワークの状況を確認できるのが特長なんです。

この記事では、ssコマンドの基本的な使い方から、実際のトラブルシューティングに役立つテクニックまで、Linux初心者の方にも分かりやすく説明していきます。

「ネットワークのことはよく分からない…」という方でも大丈夫。一緒に学んでいきましょう!


スポンサーリンク

ssコマンドって何?

ss(エスエス)は、TCP/IP接続やUNIXドメインソケットなどの状態を表示してくれるツールです。

ssコマンドとは何か

  • ソケット:ネットワーク通信の入り口のようなもの
  • 統計情報:どんな接続があるか、どのポートが使われているかなど
  • リアルタイム表示:今この瞬間の状況が分かる

Linuxではiproute2というパッケージに含まれていて、多くのLinuxで最初からインストールされています。

なぜssが便利なのか

  • netstatよりも動作が速い
  • リアルタイムで接続状況を確認できる
  • サーバー管理やセキュリティチェックに必須

まずは基本的な使い方から始めよう

一番シンプルな使い方から始めてみましょう。

ss

このコマンドを実行すると、現在のソケット情報一覧が表示されます(TCP/UDP両方含む)。

画面に表示される内容

  • State:接続の状態(LISTEN、ESTABLISHED など)
  • Recv-Q/Send-Q:受信・送信待ちのデータ量
  • Local Address:自分のIPアドレスとポート
  • Peer Address:相手のIPアドレスとポート

最初は「なんだかよく分からない…」と思うかもしれませんが、慣れてくると「あ、ここに怪しい接続がある!」といったことが分かるようになりますよ。


よく使うオプションを覚えよう

ssコマンドは、オプションを付けることでもっと便利に使えます。

基本的なオプション一覧

オプション何をしてくれるの?
-tTCP接続だけを表示
-uUDP接続だけを表示
-lLISTEN状態(待ち受け中)のソケットだけ表示
-nホスト名やポート番号を数値で表示(名前解決しない)
-pプロセス情報も一緒に表示(管理者権限が必要)
-aすべてのソケットを表示
-sソケットの統計情報を表示

オプションは組み合わせて使える

例えば、ss -tln のように複数のオプションを組み合わせることで、「TCP接続で、LISTEN状態のものを、数値で表示」といった具合に、より詳しい情報を取得できます。


実際に使ってみよう!実践的な使用例

ここからは、実際のサーバー管理でよく使う場面を想定した例をご紹介します。

LISTEN状態のTCPポート一覧を確認

ss -tln

何に使うの?

  • サーバーでどのポートが開いているかを確認
  • Webサーバー(80番)やSSH(22番)が正常に動いているかチェック

オプションの意味:

  • -t:TCPのみ
  • -l:LISTEN中(待ち受け中)
  • -n:数値で表示

使用中のすべてのポートを表示

ss -tunap

何に使うの?

  • どのアプリがどのポートを使っているかを調べる
  • 不審なプロセスがないかをチェック

注意点: プロセス情報(-pオプション)を見るには、sudo を付ける必要があることがあります。

sudo ss -tunap

特定のポートで接続をフィルタリング

ss -tunap | grep ':80'

何に使うの?

  • HTTPポート(80番)を使っている接続を調べる
  • 特定のサービスに関連する接続のみを確認

UNIXドメインソケットを見る

ss -x

何に使うの?

  • NginxやMySQLなどが内部的に使っているソケットを確認
  • アプリケーション間の通信状況を調べる

netstatとの違いを知っておこう

netstatっていうコマンドもあるって聞いたことがあるけど…」という方もいらっしゃるでしょう。

比較表

機能ssコマンドnetstatコマンド
スピード高速やや遅い
保守状況現在も開発が続いている非推奨(使わない方向)
情報の精度詳細に表示可能古い表記が残ることも
標準搭載多くのLinuxに最初から入っている(最小インストールだと入ってないない)一部で非搭載

使う時の注意点と豆知識

知っておきたい注意点

プロセス情報の表示について:

  • -pオプションは通常ユーザーでは動作しません
  • プロセス情報を見たい場合は sudo を使いましょう

情報が多すぎる場合:

  • grepと組み合わせてフィルタリング
  • lessコマンドでページ送りして確認

便利な豆知識

ポート番号が分からない時:

cat /etc/services | grep ssh

/etc/services ファイルに、ポート番号とサービス名の対応表があります。

よく使うポート番号:

  • 22:SSH
  • 80:HTTP
  • 443:HTTPS
  • 3306:MySQL
  • 5432:PostgreSQL


まとめ:ssを使いこなせば、Linuxネットワーク管理が一気に楽になる!

ssコマンドは、サーバー管理や障害調査、セキュリティチェックの場面で大活躍します。

特にクラウドやVPS環境では、GUIが使えないことも多いので、ターミナルベースでネットワーク状況を確認できるスキルは必須です。

今回学んだポイントをおさらい

  • ssnetstatより速くて強力なネットワーク確認ツール
  • ss -tlnで待ち受けポートを確認
  • ss -tunapですべての接続+プロセス情報を確認
  • sudoと組み合わせることで詳細情報も取得可能
  • grepと組み合わせて特定の情報をフィルタリング

コメント

タイトルとURLをコピーしました