サーバーで何かトラブルが起きた時、こんな経験ありませんか?
- 「なんだかサーバーが重い…どこに原因があるの?」
- 「このポート、本当に開いてるのかな?」
- 「不審な接続がないか確認したい」
そんな時に活躍するのが、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
コマンドは、オプションを付けることでもっと便利に使えます。
基本的なオプション一覧
オプション | 何をしてくれるの? |
---|---|
-t | TCP接続だけを表示 |
-u | UDP接続だけを表示 |
-l | LISTEN状態(待ち受け中)のソケットだけ表示 |
-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が使えないことも多いので、ターミナルベースでネットワーク状況を確認できるスキルは必須です。
今回学んだポイントをおさらい
ss
はnetstat
より速くて強力なネットワーク確認ツールss -tln
で待ち受けポートを確認ss -tunap
ですべての接続+プロセス情報を確認sudo
と組み合わせることで詳細情報も取得可能grep
と組み合わせて特定の情報をフィルタリング
コメント