
新Linux入門|ポートとソケットの状態を確認する:ssコマンドの基本と活用
Linuxサーバーのネットワーク状態を確認したいとき、「どんなポートが開いているの?」「どのプロセスが通信しているの?」と気になること、ありますよね。
そんなときに役立つのが ssコマンド(socket statistics)です。
ss は、ネットワークソケット(通信の出入口)に関する情報を高速かつ詳細に表示するツールです。
以前は netstat コマンドがよく使われていましたが、今では AlmaLinux 9.6 などの最新ディストリビューションでは ss が標準 になっています🚀

🌐 ssコマンドとは?
ss コマンドは、システム上で使用中の ソケット(socket) に関する情報を表示するためのユーティリティです。
「ソケット」は、アプリケーションが通信を行うための仮想的な接続ポイントで、
IPアドレス + ポート番号 + 通信プロトコル(TCP/UDP) の組み合わせで識別されます。
つまり ss は、「今どのポートで通信が行われているのか?」「どのプロセスがどのポートを使っているのか?」を素早く調べるための強力なツールです💪
⚙️ ssコマンドの基本書式
ss [オプション]とてもシンプルな構文で、オプションを組み合わせることで多彩な情報を取得できます。
TCP接続だけを確認したり、UDPの通信状況を見たり、プロセス情報を一緒に表示したりと、ネットワークの可視化にとても役立ちます✨
🧩 主なオプション一覧
| オプション | 説明 |
|---|---|
| -4 | IPv4ソケットのみを表示 |
| -6 | IPv6ソケットのみを表示 |
| -t | TCP接続を表示 |
| -u | UDP接続を表示 |
| -l | LISTEN(待ち受け)状態のソケットを表示 |
| -a | LISTEN状態のソケットと、確立済み接続の両方を表示 |
| -n | 名前解決をせず、数値でIPアドレスとポートを表示 |
| -p | プロセス情報(PIDやプログラム名)を表示 |
| -i | 内部TCP情報を表示(詳細診断用) |
| -o | タイマー情報を表示 |
| -e | ソケットの詳細情報を表示 |
| -m | ソケットが使用しているメモリ量を表示 |
💬ポイント
AlmaLinux 9.6 では ss がデフォルトで利用可能で、netstat の後継として完全に置き換えられています。
そのため、これから学ぶなら ss を使いこなすのがベスト です!
🧠 使用例と出力の読み方
✅ TCP接続を確認する
[suzuki@AlmaLinux ~]$ ss -t
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 192.168.122.10:44658 142.250.196.78:https
ESTAB 0 0 192.168.122.10:44660 142.250.196.78:https
ESTAB 0 0 192.168.122.10:55234 34.117.59.90:http 👀ポイント
「ESTAB」は“ESTABLISHED(確立済み)”の略で、通信が現在進行中であることを示します。
この例では、ローカルポート 44658 などから外部サイト(例:142.250.x.x)に通信していることがわかります。
✅ UDP接続を確認する
[suzuki@AlmaLinux ~]$ ss -u
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 127.0.0.1:323 *:*
UNCONN 0 0 [::1]:323 [::]:*🌀ポイント
「UNCONN」は未接続状態(UDPは接続を持たないため通常この状態)です。
この出力例から、ChronyなどのNTP関連プロセスが動作していることを推測できます。
✅ LISTEN状態のソケットを表示する
[suzuki@AlmaLinux ~]$ ss -l
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 *:22 *:*
tcp6 LISTEN 0 128 [::]:22 [::]:* 🔎ポイント
「LISTEN」はサーバー側が接続待ち受け中の状態。
たとえば :22 は SSH デーモンがポート22番で待ち受けていることを示しています。
このように、開放されているポートをすぐに確認できます。
✅ プロセス情報付きで表示する
[root@AlmaLinux ~]# ss -tulpn
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=1153,fd=3))
udp UNCONN 0 0 127.0.0.1:323 *:* users:(("chronyd",pid=860,fd=5))💡ポイント
-p オプションをつけると、どのプロセス(PIDとプログラム名)がそのポートを使用しているのかがわかります。
特にroot権限で実行すると、すべてのプロセス情報を閲覧できます。
📊 表示結果の見方まとめ
| 列名 | 意味 |
|---|---|
| State | ソケットの状態(LISTEN, ESTABなど) |
| Recv-Q | 受信キューのバイト数 |
| Send-Q | 送信キューのバイト数 |
| Local Address:Port | ローカル側のアドレスとポート番号 |
| Peer Address:Port | 通信相手(リモート)のアドレスとポート番号 |
| Process | 該当ソケットを使用しているプロセス情報(-p指定時のみ) |
✅ まとめ
- ss コマンドは netstat の後継ツール で、より高速・高機能✨
- TCP・UDP の接続状態、待ち受けポート、プロセス情報などを簡単に確認可能
- AlmaLinux 9.6 では標準搭載されており、ネットワーク診断やセキュリティ管理に最適
🛠️ポイント
日常の管理でもトラブルシュートでも、「どのポートが使われているのか?」を即座に確認できるのが ss の魅力です。
ネットワークを“見える化”する最強ツールとして、ぜひ覚えておきましょう🌟
