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:~#
이 두 가지 예 중 어느 것도"책으로". 첫 번째 예에서는 두 호스트 모두 SYN 및 FIN("F.")을 보냅니다.TCP 덤프산출). 왜 그럴까요? TCP/IP 가이드에 표시된 대로 FIN을 보내길 원합니다. 두 번째 예도 혼란스럽습니다. 10.10.10.1의 ACK는 어디에 있습니까?