LinuCレベル1 102試験の例題と解説
1.07.3基本的なネットワークの問題解決
LinuCレベル1 102試験の試験範囲から「1.07.3 基本的なネットワークの問題解決」についての例題を解いてみます。接続待ちしているポートの確認方法について学んでいきましょう。
例題
接続待ちしているTCPポートを確認することのできるコマンドをすべて選択してください。
- netstat -ant
- ss -lnt
- ping -ant
- host -lnt
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1. netstat -ant」と「2. ss -lnt」です。
netstatコマンドは、ネットワークシステムに関する情報を表示するコマンドです。引き数に指定するオプションによって、ネットワーク接続やルーティングテーブル、インタフェースの状態など、表示する情報を制御することができます。
しかし、netstatコマンドのマニュアルに「This program is mostly obsolete. Replacement for netstat is ss.」と記載されているように、netstatコマンドはほとんど廃止となっています。
ssコマンドは、netstatコマンドの代わりとして利用できるコマンドです。ssコマンドは、ソケットの情報などを表示します。netstatコマンド同様、引き数に指定するオプションによって表示する情報を制御することができます。ssコマンドとnetstatコマンドは共通するオプションがいくつかあります。
ssコマンドとnetstatコマンド共通で利用できるオプションには以下のようなものがあります。
-l | :接続待ち(listen)状態のソケット情報のみを表示する |
-a | :すべてのソケット情報を表示する |
-t | :TCPポートのみを表示する |
-u | :UDPポートのみを表示する |
-n | :IPアドレスやサービス名の名前解決をせず数値で表示する |
-e | :詳細情報を表示 |
選択肢の解説は以下です。
「1.netstat -ant」
正解です。
-ant という引数を指定することで、TCPポートに関するすべてのソケット情報を表示することができます。
実行すると、以下のように接続待ち(LISTEN)しているTCPポートも含めてすべてのソケット情報が表示されます。
$ netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN
tcp 0 36 10.1.3.16:22 192.168.2.222:63252 ESTABLISHED
tcp6 0 0 :::110 :::* LISTEN
tcp6 0 0 :::143 :::* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::25 :::* LISTEN
tcp6 0 0 :::993 :::* LISTEN
tcp6 0 0 :::995 :::* LISTEN
tcp6 0 0 :::389 :::* LISTEN
tcp6 0 0 :::3306 :::* LISTEN
tcp6 0 0 :::5355 :::* LISTEN
例題にある、接続待ちしているTCPポートを確認することができるため、正解となります。
「2.ss -lnt」
正解です。
-lnt という引数を指定することで、TCPポートに関する接続待ち状態のソケット情報を表示することができます。実行すると、以下のように接続待ち(LISTEN)しているソケット情報のみ表示されます。
$ ss -lnt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 0.0.0.0:110 0.0.0.0:*
LISTEN 0 100 0.0.0.0:143 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 100 0.0.0.0:25 0.0.0.0:*
LISTEN 0 100 0.0.0.0:993 0.0.0.0:*
LISTEN 0 100 0.0.0.0:995 0.0.0.0:*
LISTEN 0 128 0.0.0.0:5355 0.0.0.0:*
LISTEN 0 100 [::]:110 [::]:*
LISTEN 0 100 [::]:143 [::]:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::]:25 [::]:*
LISTEN 0 100 [::]:993 [::]:*
LISTEN 0 100 [::]:995 [::]:*
LISTEN 0 128 *:389 *:*
LISTEN 0 80 *:3306 *:*
LISTEN 0 128 [::]:5355 [::]:*
例題にある、接続待ちしているTCPポートを確認することができるため、正解となります。
「3.ping -ant」
誤りです。
pingコマンドは、パケットを送ってネットワークの疎通確認を行うコマンドです。引数に疎通確認を行いたい接続先のIPアドレスまたはホスト名を指定します。接続待ちしているTCPポートを確認することはできないため、不正解となります。
「4.host -lnt」
誤りです。
hostコマンドは、ドメイン名からIPアドレス、もしくはIPアドレスからドメイン名を調べるコマンドです。引数に調べたいドメイン名またはIPアドレスを指定します。接続待ちしているTCPポートを確認することはできないため、不正解となります。
接続待ちしているポートの確認は、サービスを起動しても接続できない時などに問題の切り分けとして利用することができます。起動したサービスが接続待ち状態になっているかなど、確認できるようにしておきましょう。
例題作成者
株式会社デージーネット OSS研究室 橋本知里