SSHクライアント(OpenSSH_4.1p1)を使用してSSHサーバーに接続するLinuxシステムがあります。 SSHクライアントコンピュータのIPアドレスは10.10.11.1で、SSHサーバーのIPアドレスは10.10.10.1です。 SSHクライアントのカーネルバージョンは3.2.0-4で、SSHサーバーのカーネルバージョンは2.6.38-8です。 SSHクライアントでSIGTERMを実行すると、TCP / IP接続は次のように終了します。
root@localhost:~# tcpdump -ni eth2 tcp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
17:03:53.313956 IP 10.10.11.1.48340 > 10.10.10.1.22: Flags [F.], seq 699217476, ack 226096330, win 913, options [nop,nop,TS val 236994467 ecr 236953581], length 0
17:03:53.315108 IP 10.10.10.1.22 > 10.10.11.1.48340: Flags [.], ack 1, win 280, options [nop,nop,TS val 236958986 ecr 236994467], length 0
17:03:53.315931 IP 10.10.10.1.22 > 10.10.11.1.48340: Flags [F.], seq 1, ack 1, win 280, options [nop,nop,TS val 236958986 ecr 236994467], length 0
17:03:53.315950 IP 10.10.11.1.48340 > 10.10.10.1.22: Flags [.], ack 2, win 913, options [nop,nop,TS val 236994468 ecr 236958986], length 0
^C
4 packets captured
4 packets received by filter
0 packets dropped by kernel
root@localhost:~#
..または次のように:
root@localhost:~# tcpdump -ni eth2 tcp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
17:09:03.135285 IP 10.10.11.1.48341 > 10.10.10.1.22: Flags [F.], seq 2985791777, ack 685840991, win 913, options [nop,nop,TS val 237071923 ecr 237029567], length 0
17:09:03.137040 IP 10.10.10.1.22 > 10.10.11.1.48341: Flags [F.], seq 1, ack 1, win 280, options [nop,nop,TS val 237036440 ecr 237071923], length 0
17:09:03.137077 IP 10.10.11.1.48341 > 10.10.10.1.22: Flags [.], ack 2, win 913, options [nop,nop,TS val 237071923 ecr 237036440], length 0
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
root@localhost:~#
これら2つの例のいずれも「本へ」。最初の例では、両方のホストがSYNとFIN("F.")を送信します。TCPダンプ出力)。なぜですか? TCP / IPガイドに示されているようにFINを送信したいです。 2番目の例も混乱しています。 10.10.10.1のACKはどこにありますか?