LinuCレベル2 201試験の例題と解説
主題2.03ネットワーク構成
高度なネットワーク構成
LinuCレベル2 201試験の出題範囲から「2.03.2 高度なネットワーク構成」についての例題を解いてみます。
例題
以下の条件でパケットをキャプチャしたい。
- TCP通信のみ
- 送信元アドレスが192.168.1.100
- 宛先ポートが22
正しいtcpdumpコマンドを選んでください。
- tcpdump tcp and src host 192.168.1.100 and dst port 22
- tcpdump tcp and src 192.168.1.100 and port 22
- tcpdump src host 192.168.1.100 and port 22
- tcpdump tcp src 192.168.1.100 dst port 22
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1. tcpdump tcp and src host 192.168.1.100 and dst port 22」です。
tcpdumpはネットワーク上を流れるデータ(パケット)をリアルタイムでキャプチャし、コマンドライン上で表示・解析をするためのツールです。ネットワークのトラブルシューティングや、プロトコルの詳細解析を行う際に利用されます。
基本的な使い方は以下の通りです。
tcpdump [オプション] [フィルタ条件]例:
tcpdump -i eth0 tcp port 80→eth0インタフェース上のTCPポート80(HTTP)通信を表示
オプションとフィルタ条件を指定することで、特定のIPやポート等に絞ってパケットキャプチャを行うことができます。
例題の各選択肢の詳細について解説をします。
1. tcpdump tcp and src host 192.168.1.100 and dst port 22
正しいです。
tcpdumpのフィルタ式では以下のように記述するのが正確です。
tcp:TCP通信に限定
src host 192.168.1.100:送信元ホストを指定
dst port 22:宛先ポート指定
論理演算子andで条件をつなげることで、「192.168.1.10から22番ポート宛のTCP通信」を正確に絞り込むことができます。
2. tcpdump tcp and src 192.168.1.100 and port 22
誤りです。
port 22は方向(src/dst)が不明確なので、「宛先が22番」という条件にはならず、「送信元または宛先のどちらかが22番」の通信が含まれます。
3. tcpdump src host 192.168.1.100 and port 22
誤りです。
TCP限定の条件がないためUDPの通信も含まれます。tcpを明示しないと、指定したポートを使う他プロトコル(たとえばUDP/22)もヒットしてしまいます。
4. tcpdump tcp src 192.168.1.100 dst port 22
誤りです。
tcpdumpのフィルタ式では、条件をand/orで区切る必要があります。このコマンドでは、srcとdst portの間に論理演算子が無いため、構文エラーとなります。
tcpdumpコマンドは、ネットワーク周りで異常が発生した際に、疎通状態を確認するためによく使われるコマンドです。正しい利用方法を理解することで、適切にトラブルシューティングができるようにしましょう。
例題作成者
株式会社デージーネット 経営企画室 今村 凌太