LinuCレベル2 201試験の例題と解説
2.03.2高度なネットワーク構成
LinuC 201試験の試験範囲から「2.03.2 高度なネットワーク構成」についての例題を解いてみます。
例題
Linuxサーバにおいて、TCPで待ち受けているポート番号をすべて表示したい。
次のコマンドラインのうち、正しいものを2つ選択してください。
- ip port show
- netstat -lt
- ss -lt
- route -n
※この例題は実際の試験問題とは異なります。
解答と解説
答えは「2. netstat -lt」と「3. ss -lt」です。
netstatはネットワーク接続状態を表示するためのコマンドです。 netstatコマンドを使用すれば、TCP/UDPで待ち受けているソケットの情報を表示することができます。 例えば、UDPで待ち受けているソケットの一覧を表示する場合、下記のようにnetstatコマンドを使用します。
------ 実行例 ------
$ netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
udp 0 0 localhost:323 0.0.0.0:*
udp6 0 0 localhost:323 [::]:*
------ ------ ------
本例では -lu オプションを指定しており、下記の意味があります。
-l = 待受ソケットだけを表示するオプション
-u = UDPソケットを表示するオプション
TCPソケットを表示する場合は -t オプションを指定します。
-t = TCPソケットを表示するオプション
ssはソケットの状態を表示するためのコマンドです。
ssコマンドを使用すれば、TCP/UDPで待ち受けているソケットの情報や通信中のソケット情報等を表示することができます。
netstatと同じように使用することができます。
例えば、UDPで待ち受けているソケットの一覧を表示する場合、下記のようにssコマンドを使用します。
------ 実行例 ------
$ ss -lu
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 *:bootpc *:*
UNCONN 0 0 127.0.0.1:323 *:*
UNCONN 0 0 ::1:323 :::*
------ ------ ------
例題の選択肢について解説します。
1. ip port show 誤っています。
ipコマンドは、IPアドレス情報やルーティング情報を表示・設定するためのコマンドです。
ip OBJECT COMMAND の形式で使用します。
------ 実行例 ------
$ ip route show
default via 172.16.0.1 dev eth0 proto dhcp metric 100
172.16.0.0/24 dev eth0 proto kernel scope link src 172.16.0.52 metric 100
172.16.1.0/24 dev eth1 proto kernel scope link src 172.16.1.158 metric 101
------ ------ ------
本例では、ルーティング情報を表示しています。
選択肢で指定している port というOBJECTは存在しません。
2. netstat -lt 正解です。
------ 実行例 ------
$ netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:smtp [::]:* LISTEN
------ ------ ------
3. ss -lt 正解です。
------ 実行例 ------
$ ss -lt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 50 *:mysql *:*
LISTEN 0 128 *:ssh *:*
LISTEN 0 100 127.0.0.1:smtp *:*
LISTEN 0 128 :::http :::*
LISTEN 0 128 :::ssh :::*
LISTEN 0 100 ::1:smtp :::*
------ ------ ------
4. route -n 誤っています。
routeコマンドは、IPルーティングテーブルを表示・設定するためのコマンドです。
------ 実行例 ------
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default ohno-pc 0.0.0.0 UG 100 0 0 eth0
172.16.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
172.16.1.0 0.0.0.0 255.255.255.0 U 101 0 0 eth1
------ ------ ------
ss,netstatコマンドを使用してTCP/UCPソケットの状態を表示できるようにしておきましょう。