
新Linux入門|ポートの確認と監視に役立つコマンド集
今回は、Linuxサーバーのネットワーク管理に欠かせない「ポートの確認」と「監視」について紹介します。
ポートは、ネットワーク通信を行う上でとても大切な“出入口”のようなもの。
どのポートが開いていて、どんなサービスが待ち受けているのかを把握しておくことは、
セキュリティ対策やトラブルシューティングの基本です💡

🔍 ポートとは?
ポートは、ネットワーク通信で特定のサービスを識別するための番号です。
1台のサーバーでも、Webサービス・メール・SSHなど複数の通信を行うことができますが、
それぞれが異なる“ポート番号”を使用しています。
| ポート番号の範囲 | 名称 | 主な用途 |
|---|---|---|
| 0〜1023 | Well-Known Ports | 代表的なサービス(例:22=SSH, 80=HTTP, 443=HTTPS) |
| 1024〜49151 | Registered Ports | 登録済みアプリケーション用 |
| 49152〜65535 | Dynamic/Private Ports | 一時的な通信(クライアント側) |
💬ポイント
たとえば、Webサーバー(HTTP)は通常ポート 80、
SSH接続はポート 22 を使用します。
これらの番号が他のサービスと重ならないように設計されています。
🧰 ポート確認の重要性
ポートが開いているということは、「外部から通信を受け付けている」状態を意味します。
管理者は、不要なポートを閉じ、必要なポートだけを開けることで、
セキュリティリスクを最小限に抑えることができます🔒
そのため、定期的にポートの状態を確認し、
異常や不正アクセスの兆候がないかを監視することが大切です。
🧩 よく使われるポート確認コマンド
Linuxでは、ポートの状態を確認するためにいくつかの便利なコマンドがあります。
ここでは代表的な3つを紹介します👇
| コマンド | 主な用途 | 特徴 |
|---|---|---|
| netstat | 接続・ポート・ルーティング情報を表示 | 歴史ある定番コマンド(net-toolsに含まれる) |
| ss | ソケット情報を高速に表示 | netstatの後継ツールで推奨される。 |
| lsof | オープン中のファイルやポートを一覧表示 | プロセス単位で確認できる。 |
🖥️ netstatコマンド:ポート状態を確認する
netstat は古くから使われている定番コマンドで、
ポートのリスニング状態や通信の確立状況を確認できます。
コマンド書式
netstat [オプション]| 主なオプション | 説明 |
|---|---|
| -t | TCP接続を表示 |
| -u | UDP接続を表示 |
| -l | LISTEN状態(待ち受け中)のポートを表示 |
| -n | 名前解決をせずにIPとポート番号で表示 |
| -p | プロセスIDとプログラム名を表示 |
使用例
[suzuki@AlmaLinux ~]$ netstat -tuln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 [::]:22 [::]:* LISTEN
udp 0 0 127.0.0.1:323 0.0.0.0:*
udp6 0 0 ::1:323 [::]:*💡ポイント
LISTEN の行が「待ち受けポート」、つまり外部から接続可能な状態を表しています。
例えば :22 はSSHデーモンが稼働していることを示しています。
⚡ ssコマンド:より高速で詳細なポート確認
ss(socket statistics)は、netstat の後継として推奨されているコマンドです。
より高速で、IPv6やUNIXソケットにも対応しています。
コマンド書式
ss [オプション]| 主なオプション | 説明 |
|---|---|
| -t | TCP接続を表示 |
| -u | UDP接続を表示 |
| -l | LISTEN状態のポートを表示 |
| -n | 名前解決を無効化して表示 |
| -p | プロセス情報を表示 |
使用例
[suzuki@AlmaLinux ~]$ ss -tuln
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 *:22 *:*
tcp6 LISTEN 0 128 [::]:22 [::]:*
udp UNCONN 0 0 127.0.0.1:323 *:*
udp6 UNCONN 0 0 ::1:323 [::]:*🧠ポイント
ss は netstat よりも速く、表示内容も整理されています。
AlmaLinux 9.6 ではこの ss が標準で利用できます。
🔎 lsofコマンド:プロセス単位でポートを確認
lsof(List Open Files)は、現在開かれているファイルやポートを一覧表示するツールです。
プロセスごとにどのポートを使用しているかが確認できるのが特徴です。
コマンド書式
lsof [オプション]| 主なオプション | 説明 |
|---|---|
| -i | ネットワーク関連の接続を表示 |
| -P | ポート番号を数値で表示 |
| -n | ホスト名の名前解決を行わない |
| grep LISTEN | 待ち受けポートのみ抽出 |
使用例
[root@AlmaLinux ~]# lsof -i -P -n | grep LISTEN
sshd 1153 root 3u IPv4 20124 0t0 TCP *:22 (LISTEN)
cupsd 1387 root 10u IPv6 21283 0t0 TCP [::1]:631 (LISTEN)
rpcbind 680 rpc 8u IPv4 17370 0t0 TCP *:111 (LISTEN)💬ポイント
どのプロセスがどのポートを使っているのかが一目瞭然です。
ポートが解放されているけれど、どのアプリかわからない…というときに便利です。
✅ まとめ
- ポート番号はネットワーク通信の“出入口”であり、セキュリティ管理の重要ポイント
- netstat, ss, lsof はポート確認の定番コマンド
- AlmaLinux 9.6 では ssコマンドが推奨(高速かつ軽量)
- 定期的なポート監視で、不要な通信を遮断し、システムを安全に保ちましょう🔒
🌟ポイント
これらのコマンドを組み合わせて使うことで、
「どのポートが開いているのか」「どのプロセスが使用しているのか」を
すばやく把握できるようになります。
ネットワークトラブルや不正アクセス対策に、ぜひ活用してください!
