TCPコネクションがいくつ張られるかに関するネットワークスペシャリスト試験問題
わかりました。
では「TCPコネクションがいくつ張られるか」をテーマに、午後Ⅰ形式(短文+図示+設問)で10問作成します。
図はテキストのASCII図で表し、実際の試験で出るように接続元・宛先IPとポート番号を入れ、4タプルの違いから接続数を判定する問題にします。
---
TCPコネクション数判定 午後Ⅰ形式 10問
---
問題1
[192.168.1.10:50000]──→[203.0.113.1:80]
[192.168.1.10:50001]──→[203.0.113.1:80]
この場合、TCPコネクションはいくつ張られるか。
---
問題2
[192.168.1.10:50000]──→[203.0.113.1:80]
[192.168.1.10:50000]──→[203.0.113.1:443]
この場合、TCPコネクションはいくつ張られるか。
---
問題3
[192.168.1.10:50000]──→[203.0.113.1:80]
[192.168.1.20:50000]──→[203.0.113.1:80]
この場合、TCPコネクションはいくつ張られるか。
---
問題4
[192.168.1.10:50000]──→[203.0.113.1:80]
[203.0.113.1:80]──→[192.168.1.10:50000]
この場合、TCPコネクションはいくつ張られるか。
---
問題5
[192.168.1.10:50000]──→[203.0.113.1:80]
[192.168.1.10:50001]──→[203.0.113.1:443]
この場合、TCPコネクションはいくつ張られるか。
---
問題6
[192.168.1.10:50000]──→[203.0.113.1:80]
[192.168.1.10:50000]──→[203.0.113.2:80]
この場合、TCPコネクションはいくつ張られるか。
---
問題7
[192.168.1.10:50000]──→[203.0.113.1:80]
[192.168.1.11:50000]──→[203.0.113.2:80]
この場合、TCPコネクションはいくつ張られるか。
---
問題8
[192.168.1.10:50000]──→[203.0.113.1:80]
[192.168.1.10:50000]──→[203.0.113.1:80]
ただし、1本目はFINで切断後、TIME_WAIT経過前に同じポートで再接続。
この場合、TCPコネクションはいくつ張られるか。
---
問題9
[192.168.1.10:50000]──→[203.0.113.1:80]
[192.168.1.10:50001]──→[203.0.113.1:80]
[192.168.1.10:50002]──→[203.0.113.1:443]
この場合、TCPコネクションはいくつ張られるか。
---
問題10
[192.168.1.10:50000]──→[203.0.113.1:80]
[192.168.1.11:50000]──→[203.0.113.1:80]
[192.168.1.10:50001]──→[203.0.113.1:443]
この場合、TCPコネクションはいくつ張られるか。
---
解答と解説
問題 コネクション数 解説
1 2 送信元ポートが異なるため別コネクション。
2 2 宛先ポートが異なるため別コネクション。
3 2 送信元IPが異なるため別コネクション。
4 1 方向が逆でも4タプルは同一。
5 2 宛先ポートも送信元ポートも異なる。
6 2 宛先IPが異なるため別コネクション。
7 2 双方のIPが異なるため別コネクション。
8 1(ただし再利用で混同リスク) 再利用なので理論上同一、ただしTIME_WAIT中は通常新規接続不可。
9 3 送信元ポートや宛先ポートが異なる全て別コネクション。
10 3 送信元IPまたはポートが異なるため全て別コネクション。
---
この午後Ⅰ形式なら、4タプルの理解を直接問える短文問題集として試験練習に最適です。
もし希望があれば、この10問を パケットキャプチャ付き・TCP状態遷移図付き にして午後Ⅱ問題風に拡張できますが、そうしますか?
了解です。
では、先ほどの「TCPコネクションがいくつ張られるか」問題を 午後Ⅱ形式 に拡張し、
パケットキャプチャ(Wireshark風)
TCP状態遷移図(ASCII図)
正常系/異常系の比較
解答・解説付き
で作成します。
---
TCPコネクション数判定 午後Ⅱ形式(正常系+異常系) 10問
---
問題1(正常系)
パケットキャプチャ
No. Time Source SrcPort Destination DstPort Flags
1 0.000 192.168.1.10 50000 203.0.113.1 80 SYN
2 0.050 203.0.113.1 80 192.168.1.10 50000 SYN,ACK
3 0.100 192.168.1.10 50000 203.0.113.1 80 ACK
4 1.200 192.168.1.10 50001 203.0.113.1 80 SYN
5 1.250 203.0.113.1 80 192.168.1.10 50001 SYN,ACK
6 1.300 192.168.1.10 50001 203.0.113.1 80 ACK
状態遷移図(簡略)
50000: CLOSED → SYN_SENT → ESTABLISHED
50001: CLOSED → SYN_SENT → ESTABLISHED
設問
この場合、TCPコネクションはいくつ確立されているか。
---
問題2(異常系 SYN Flood)
パケットキャプチャ
No. Time Source SrcPort Destination DstPort Flags
1 0.000 192.168.1.50 40000 203.0.113.1 80 SYN
2 0.001 192.168.1.51 40001 203.0.113.1 80 SYN
3 0.002 192.168.1.52 40002 203.0.113.1 80 SYN
...(1000件以上連続SYN)
状態遷移図
サーバ側: LISTEN → SYN_RCVD(多数)→(ACKなしでタイムアウト)
設問
この場合、サーバ側で確立されるTCPコネクションはいくつか。
---
問題3(正常系・異なる宛先ポート)
パケットキャプチャ
1 0.000 192.168.1.20 50010 203.0.113.1 80 SYN
2 0.050 203.0.113.1 80 192.168.1.20 50010 SYN,ACK
3 0.100 192.168.1.20 50010 203.0.113.1 80 ACK
4 0.200 192.168.1.20 50011 203.0.113.1 443 SYN
5 0.250 203.0.113.1 443 192.168.1.20 50011 SYN,ACK
6 0.300 192.168.1.20 50011 203.0.113.1 443 ACK
設問
この場合、確立されるコネクション数はいくつか。
---
問題4(異常系・RST応答)
パケットキャプチャ
1 0.000 192.168.1.10 50000 203.0.113.5 23 SYN
2 0.010 203.0.113.5 23 192.168.1.10 50000 RST,ACK
設問
この場合、TCPコネクションは確立されるか。
---
問題5(正常系・異なる宛先IP)
パケットキャプチャ
1 0.000 192.168.1.10 50020 203.0.113.1 80 SYN
2 0.050 203.0.113.1 80 192.168.1.10 50020 SYN,ACK
3 0.100 192.168.1.10 50020 203.0.113.1 80 ACK
4 0.200 192.168.1.10 50021 203.0.113.2 80 SYN
5 0.250 203.0.113.2 80 192.168.1.10 50021 SYN,ACK
6 0.300 192.168.1.10 50021 203.0.113.2 80 ACK
設問
確立されるコネクション数はいくつか。
---
(問題6〜10も同様に、正常系・異常系を交互に作成
例:同一ポート再利用、TIME_WAIT中接続試行、異なる送信元IP、SYN後ACK遅延、ポートスキャンでRST応答など)
---
解答例(1〜5)
問題 コネクション数 解説
1 2 送信元ポートが異なるので別コネクション。
2 0 ACKが返らず確立しない(SYN Floodは未確立状態の大量保持)。
3 2 宛先ポートが異なるため別コネクション。
4 0 RSTで即座に拒否、確立しない。
5 2 宛先IPが異なるため別コネクション。
---
この午後Ⅱ形式は、4タプルの理解+キャプチャ解析+状態遷移の知識を同時に問えます。
さらに、問題6〜10を追加すれば、完全な試験セットになります。
もし希望があれば、これを 図(状態遷移図)を綺麗に整形してPDF化 できますが、その形にしますか?
了解です。
では、先ほどの問題1〜5の続きとして、問題6〜10 を作成します。
---
TCPコネクション数判定 午後Ⅱ形式(正常系+異常系) 続き
---
問題6(正常系・同一宛先・同一ポート・異なる送信元ポート)
パケットキャプチャ
1 0.000 192.168.1.30 51000 203.0.113.10 25 SYN
2 0.050 203.0.113.10 25 192.168.1.30 51000 SYN,ACK
3 0.100 192.168.1.30 51000 203.0.113.10 25 ACK
4 2.000 192.168.1.30 51001 203.0.113.10 25 SYN
5 2.050 203.0.113.10 25 192.168.1.30 51001 SYN,ACK
6 2.100 192.168.1.30 51001 203.0.113.10 25 ACK
設問
確立されるTCPコネクションの数はいくつか。
---
問題7(異常系・TIME_WAIT中再接続試行)
パケットキャプチャ
1 0.000 192.168.1.40 52000 203.0.113.20 110 SYN
2 0.050 203.0.113.20 110 192.168.1.40 52000 SYN,ACK
3 0.100 192.168.1.40 52000 203.0.113.20 110 ACK
4 1.000 (アプリ終了) - - - FIN,ACK
5 1.050 (相手応答) - - - ACK
6 1.100 (相手終了) - - - FIN,ACK
7 1.150 (自機応答) - - - ACK
8 1.200 192.168.1.40 52000 203.0.113.20 110 SYN
設問
最後のSYNは成功するか。
---
問題8(正常系・異なる送信元IP)
パケットキャプチャ
1 0.000 192.168.1.50 53000 203.0.113.30 21 SYN
2 0.050 203.0.113.30 21 192.168.1.50 53000 SYN,ACK
3 0.100 192.168.1.50 53000 203.0.113.30 21 ACK
4 0.500 192.168.1.51 53000 203.0.113.30 21 SYN
5 0.550 203.0.113.30 21 192.168.1.51 53000 SYN,ACK
6 0.600 192.168.1.51 53000 203.0.113.30 21 ACK
設問
確立されるTCPコネクションの数はいくつか。
---
問題9(異常系・ポートスキャン)
パケットキャプチャ
1 0.000 192.168.1.60 54000 203.0.113.40 21 SYN
2 0.010 203.0.113.40 21 192.168.1.60 54000 RST,ACK
3 0.020 192.168.1.60 54001 203.0.113.40 22 SYN
4 0.030 203.0.113.40 22 192.168.1.60 54001 RST,ACK
設問
確立されるTCPコネクションの数はいくつか。
---
問題10(正常系・同一ポート再利用だが異なる宛先)
パケットキャプチャ
1 0.000 192.168.1.70 55000 203.0.113.50 80 SYN
2 0.050 203.0.113.50 80 192.168.1.70 55000 SYN,ACK
3 0.100 192.168.1.70 55000 203.0.113.50 80 ACK
4 0.500 192.168.1.70 55000 203.0.113.51 80 SYN
5 0.550 203.0.113.51 80 192.168.1.70 55000 SYN,ACK
6 0.600 192.168.1.70 55000 203.0.113.51 80 ACK
設問
確立されるTCPコネクションの数はいくつか。
---
解答例(6〜10)
問題 コネクション数 解説
6 2 宛先と送信元ポートの組み合わせが異なるため別コネクション。
7 失敗(0) TIME_WAIT中は同一4タプルで再接続不可。
8 2 送信元IPが異なるため別コネクション。
9 0 全てRST応答で確立されない。
10 2 宛先IPが異なるため別コネクション。
---
これで問題1〜10が揃い、正常系+異常系の比較+TCP 4タプルの概念が学べるセットになりました。
もし希望があれば、この全20ページ分(問題+解答+図解付き)をPDF化して渡せますが、そうしますか?
コメント
コメントを投稿