
新Linux入門|Linuxで通信状態を調べる基本コマンド解説
Linuxサーバーを管理しているときに、「どのポートが使われているの?」「ネットワーク通信は問題なく行われているの?」と確認したくなる場面がありますよね。
そんなときに役立つのが、通信状態を調べる基本コマンド です💡
AlmaLinux 9.6 では、通信の確認に使える便利なツールがいくつか用意されています。
この記事では、その中でもよく使われる netstat, ss, lsof の3つのコマンドを中心に解説していきます。

🌐 ポートとは何か?
まず最初に「ポート」について理解しておきましょう。
ポートとは、ネットワーク通信を行う際にアプリケーションが使う通信の入り口です。
パソコンには「住所(IPアドレス)」があり、その中に複数の「窓口(ポート番号)」があるイメージです。
| ポート番号の範囲 | 名称 | 主な用途 |
|---|---|---|
| 0〜1023 | Well-known Ports | SSH(22), HTTP(80), HTTPS(443)など有名なサービス |
| 1024〜49151 | Registered Ports | 一般的なアプリケーションが使用 |
| 49152〜65535 | Dynamic/Private Ports | 一時的な通信やクライアント側で利用 |
🧠 つまり、同じIPでも複数のサービスが同時に通信できるのはポートのおかげ!
ポートを確認することで、どのサービスが通信しているのかが分かります。
⚙️ 通信状態を調べる主なコマンド
Linuxでは通信状態を確認するために、次の3つのコマンドがよく使われます👇
| コマンド名 | 主な目的 | 特徴 |
|---|---|---|
| netstat | ネットワーク全体の状態を確認 | 古くから使われている基本ツール |
| ss | ソケット情報を高速に取得 | netstatの後継。より高速で詳細 |
| lsof | 開かれているファイル・ポートの一覧 | プロセス単位でポート使用状況を確認できる。 |
これらを組み合わせることで、システム全体の通信状況を正確に把握できます。
🖥️ netstatコマンド:基本的な通信確認ツール
netstat は、Linuxで長年使われてきたネットワーク確認コマンドです。
通信状態、ルーティングテーブル、インターフェース情報などを表示できます。
📜 コマンド書式
netstat [オプション]🧩 主なオプション
| オプション | 説明 |
|---|---|
| -t | TCP接続を表示 |
| -u | UDP接続を表示 |
| -l | LISTEN(待ち受け)状態を表示 |
| -a | すべての接続とLISTENポートを表示 |
| -n | 名前解決を行わずに数値で表示 |
| -p | プロセス情報(PID・プログラム名)を表示 |
💻 使用例
[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
udp 0 0 127.0.0.1:323 0.0.0.0:*👀 この結果から、SSH(22番ポート)とNTP(323番ポート)が動作中であることが分かります。
LISTEN は「待ち受け中」、つまり接続を受け付けている状態を示します。
⚡ ssコマンド:高速・詳細な通信確認
ss(socket statistics)は、netstat の後継として開発されたコマンドで、
より高速・正確にネットワーク状態を確認できます。
📜 コマンド書式
ss [オプション]🧩 主なオプション
| オプション | 説明 |
|---|---|
| -t | TCP接続のみ表示 |
| -u | UDP接続のみ表示 |
| -l | LISTEN状態のみ表示 |
| -n | 名前解決を無効化(IPやポート番号で表示) |
| -p | プロセス情報を表示 |
| -a | すべてのソケット情報を表示 |
💻 使用例
[suzuki@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))💬ポイント
この出力では、SSHデーモン(sshd)が22番ポートでLISTEN中、ChronyがUDP 323番で通信中であることが分かります。
netstat より出力が速く、プロセス情報(PID、プログラム名)も一緒に確認できるのが便利ですね。
🔍 lsofコマンド:プロセスとポートの関係を確認
lsof(List Open Files)は、システム上で開いているファイルやネットワークソケットを一覧表示するコマンドです。
Linuxでは「ポートもファイルの一種」として扱われるため、ネットワーク診断にも活用できます📂
📜 コマンド書式
lsof [オプション]🧩 主なオプション
| オプション | 説明 |
|---|---|
| -i | ネットワーク接続関連の情報を表示 |
| -P | ポート番号を数値で表示 |
| -n | 名前解決を行わずに表示 |
| grep LISTEN | 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)👀ポイント
「sshd」や「cupsd」など、どのプロセスがどのポートを使用しているか一目で分かります。
このコマンドは、ポートとプロセスの対応を調べたいときに特に便利です。
✅ まとめ
- netstat:古くから使われている通信確認コマンド。全体の把握に最適
- ss:高速で正確な結果を返す、現代の標準コマンド
- lsof:プロセス単位でポートを追跡できる便利ツール
これらのコマンドを理解しておくと、通信トラブルの調査やセキュリティ監視がぐっと効率的になります🔧
AlmaLinux 9.6 でも引き続き活用できる基本ツールですので、日常的に使いこなせるように練習してみましょう!🌟
