新Linux入門|ポートの確認と監視に役立つコマンド集


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

🔍 ポートとは?

ポートは、ネットワーク通信で特定のサービスを識別するための番号です。
1台のサーバーでも、Webサービス・メール・SSHなど複数の通信を行うことができますが、
それぞれが異なる“ポート番号”を使用しています。

ポート番号の範囲名称主な用途
0〜1023Well-Known Ports代表的なサービス(例:22=SSH, 80=HTTP, 443=HTTPS)
1024〜49151Registered Ports登録済みアプリケーション用
49152〜65535Dynamic/Private Ports一時的な通信(クライアント側)

💬ポイント
たとえば、Webサーバー(HTTP)は通常ポート 80
SSH接続はポート 22 を使用します。
これらの番号が他のサービスと重ならないように設計されています。

🧰 ポート確認の重要性

ポートが開いているということは、「外部から通信を受け付けている」状態を意味します。
管理者は、不要なポートを閉じ、必要なポートだけを開けることで、
セキュリティリスクを最小限に抑えることができます🔒

そのため、定期的にポートの状態を確認し、
異常や不正アクセスの兆候がないかを監視することが大切です。

🧩 よく使われるポート確認コマンド

Linuxでは、ポートの状態を確認するためにいくつかの便利なコマンドがあります。
ここでは代表的な3つを紹介します👇

コマンド主な用途特徴
netstat接続・ポート・ルーティング情報を表示歴史ある定番コマンド(net-toolsに含まれる)
ssソケット情報を高速に表示netstatの後継ツールで推奨される。
lsofオープン中のファイルやポートを一覧表示プロセス単位で確認できる。

🖥️ netstatコマンド:ポート状態を確認する

netstat は古くから使われている定番コマンドで、
ポートのリスニング状態や通信の確立状況を確認できます。

コマンド書式

netstat [オプション]
主なオプション説明
-tTCP接続を表示
-uUDP接続を表示
-lLISTEN状態(待ち受け中)のポートを表示
-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 [オプション]
主なオプション説明
-tTCP接続を表示
-uUDP接続を表示
-lLISTEN状態のポートを表示
-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コマンドが推奨(高速かつ軽量)
  • 定期的なポート監視で、不要な通信を遮断し、システムを安全に保ちましょう🔒

🌟ポイント
これらのコマンドを組み合わせて使うことで、
「どのポートが開いているのか」「どのプロセスが使用しているのか」を
すばやく把握できるようになります。
ネットワークトラブルや不正アクセス対策に、ぜひ活用してください!