このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
新Linuxコマンド演習57

新Linuxコマンド演習57 概要
「新Linuxコマンド演習57」では、Linuxシステムにおけるネットワーク通信の状態を確認するための代表的なコマンドである ssコマンド と netstatコマンド の使い方を学びます。
これらのコマンドを使用することで、サーバー上でどのポートが開いているか、どのホストと通信しているか、通信の状態(LISTEN・ESTABLISHED)などを確認できます。
AlmaLinux 9.6では、従来のnetstatコマンドに代わり、より高速で詳細なssコマンドが標準搭載されています。
本演習では、両方のコマンドを比較しながら実践的にネットワーク監視の基本を身につけます。

コマンド概要
| コマンド | 主な用途 | 特徴 | 主なオプション |
|---|---|---|---|
| ss | ソケット通信の状態を高速に確認 | netstatより高速・正確で、AlmaLinux標準コマンド | -t(TCP接続) -u(UDP接続) -a(全ての接続) -l(LISTENポート) |
| netstat | ネットワーク接続やルーティングを確認 | 古くから使用されているツール。旧環境でも利用可 | -t(TCP) -a(全接続) -r(ルーティング) -l(LISTEN) |
表の説明
ssはシステムの/proc/net情報を直接読み取るため、処理速度が速く、より正確です。
netstatは非推奨となりつつありますが、古いシステムやスクリプトで互換性があるため依然として利用価値があります。
主なオプション一覧
| オプション | 対応コマンド | 説明 |
|---|---|---|
| -t | ss / netstat | TCP通信を表示 |
| -u | ss / netstat | UDP通信を表示 |
| -a | ss / netstat | すべての接続(LISTEN・ESTABLISHED)を表示 |
| -l | ss / netstat | LISTEN(待機中)のポートのみ表示 |
| -r | netstat | ルーティングテーブルを表示 |
表の説明
TCPの通信確認には-t、サーバーが待受中のポート確認には -l が便利です。
また、ルーティング経路を確認する際には -r が使用されます。
演習問題+模範解答例
演習01:Firefoxをバックグラウンドで実行する
問題
Firefoxをバックグラウンドで起動し、TCP通信を発生させてください。
模範解答例
[suzuki@AlmaLinux ~]$ firefox &
[1] 4416
[suzuki@AlmaLinux ~]$ 解説
コマンド末尾に「&」を付けることで、Firefoxをバックグラウンドジョブとして起動します。
WebサイトにアクセスするとTCP通信が発生し、後の演習で ss や netstat で確認できます。
演習02:TCP接続の状態を確認する(ssコマンド)
問題
ssコマンドを使用して、現在のTCP接続の状態を確認してください。
模範解答例
[suzuki@AlmaLinux ~]$ ss -t
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 10.0.2.15:45936 34.160.144.191:https
ESTAB 0 0 10.0.2.15:37996 34.107.243.93:https
ESTAB 0 0 10.0.2.15:33218 23.53.193.109:http
ESTAB 0 0 10.0.2.15:35028 142.250.76.35:http
(省略)解説
ss -t はTCPの確立済み接続(ESTABLISHED)を表示します。
ESTABは「通信中(ESTABLISHED)」を意味します。
演習03:TCP接続を確認する(netstatコマンド)
問題
netstatコマンドを使用してTCP接続の情報を確認してください。
模範解答例
[suzuki@AlmaLinux ~]$ netstat -t
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 AlmaLinux:45216 80.54.36.34.bc.go:https TIME_WAIT
tcp 0 0 AlmaLinux:45936 191.144.160.34.bc:https ESTABLISHED
tcp 0 0 AlmaLinux:37996 93.243.107.34.bc.:https ESTABLISHED
tcp 0 0 AlmaLinux:33218 a23-53-193-109.dep:http ESTABLISHED
tcp 0 0 AlmaLinux:45278 80.54.36.34.bc.go:https TIME_WAIT
tcp 0 0 AlmaLinux:35028 maa03s36-in-f3.1e1:http ESTABLISHED
(省略)解説
netstat -t でTCP通信の状態を表示します。
Local Address(ローカル側)とForeign Address(通信相手側)を確認できます。
演習04:すべての接続と待受ポートを確認する
問題
すべての接続(LISTENおよびESTABLISHED)を表示してください。
模範解答例
[suzuki@AlmaLinux ~]$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN
tcp 0 0 AlmaLinux:45936 191.144.160.34.bc:https ESTABLISHED
tcp 0 0 AlmaLinux:37996 93.243.107.34.bc.:https ESTABLISHED
tcp 0 0 AlmaLinux:33218 a23-53-193-109.dep:http TIME_WAIT
tcp 0 0 AlmaLinux:59108 44.51.49.34.bc.go:https ESTABLISHED
(省略)解説
-aオプションを使用すると、LISTEN(待機中)とESTABLISHED(通信中)の両方を確認できます。
セキュリティ点検時にも活用されるコマンドです。
演習05:ルーティングテーブルを確認する
問題
ルーティングテーブルを表示し、デフォルトゲートウェイを確認してください。
模範解答例
[suzuki@AlmaLinux ~]$ netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default _gateway 0.0.0.0 UG 0 0 0 enp0s3
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3解説
ルーティングテーブルでは、通信経路とゲートウェイを確認できます。
Iface列には通信に利用するネットワークインターフェースが表示されます。
演習06:LISTEN状態のTCPポートを確認する
問題
ssコマンドを使用して、待機中(LISTEN)のTCPポートを確認してください。
模範解答例
[suzuki@AlmaLinux ~]$ ss -lnt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 4096 127.0.0.1:631 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 4096 [::1]:631 [::]:*解説
-l でLISTENソケット、-n で数値表示、-t でTCP接続を指定します。
SSHが待受状態にあることが分かります。
演習07:UDPポートを確認する
問題
ssコマンドでUDPポートの状態を確認してください。
模範解答例
[suzuki@AlmaLinux ~]$ ss -u
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 0 10.0.2.15%enp0s3:bootpc 10.0.2.2:bootps解説
ss -u はUDPポートを表示します。
まとめ
「新Linuxコマンド演習57」では、
ssとnetstatコマンドを通じて、ネットワーク通信の状態を確認する方法を学びました。
特に、TCPやUDPの接続状態、LISTEN中のポート、ルーティングテーブルの確認は、ネットワークトラブルの原因特定やセキュリティ監視に欠かせないスキルです。
| 学習ポイント | 内容 |
|---|---|
| ssコマンド | netstatの後継コマンド。通信状態を高速・詳細に確認可能。 |
| netstatコマンド | 古い環境でも利用可能なネットワーク監視ツール。 |
| LISTEN / ESTABLISHED | LISTENは待受状態、ESTABLISHEDは通信中の状態。 |
