TCP在telnet连接期间发送错误的ACK

TCP在telnet连接期间发送错误的ACK,tcp,telnet,Tcp,Telnet,这里我正在测试一个到ip设备管理的telnet连接。 23端口上没有运行telnet服务器。事实上,没有应用程序在23上侦听。理想情况下,当我尝试连接时,应该拒绝telnet连接。但有时连接超时而不是拒绝 理想情况: $ telnet 10.145.65.46 Trying 10.145.65.46... telnet: connect to address 10.145.65.46: Connection refused Timedout案例: $ telnet 10.145.6

这里我正在测试一个到ip设备管理的telnet连接。 23端口上没有运行telnet服务器。事实上,没有应用程序在23上侦听。理想情况下,当我尝试连接时,应该拒绝telnet连接。但有时连接超时而不是拒绝

理想情况:

$ telnet 10.145.65.46  
Trying 10.145.65.46...  
telnet: connect to address 10.145.65.46: Connection refused  
Timedout案例:

$ telnet 10.145.65.46  
Trying 10.145.65.46...  
Connected to 10.145.65.46.  
Escape character is '^]'.  
Connection closed by foreign host.  
1 Packet - 23:02:12.284611 IP seadev01.olympus.f5net.com.39272 > AdithyaVe1.com.telnet: Flags [S], seq 2750626194, win 14600, options [mss 536], length 0  
2 Packet - 23:02:12.284657 IP AdithyaVe1.com.telnet > seadev01.olympus.f5net.com.39272: Flags [R.], seq 0, ack 2750626195, win 0, length 0  
3 Packet - 23:02:13.284453 IP seadev01.olympus.f5net.com.39272 > AdithyaVe1.com.telnet: Flags [S], seq 2750626194, win 14600, options [mss 536], length 0  
4 Packet - 23:02:13.284515 IP AdithyaVe1.com.telnet > seadev01.olympus.f5net.com.39272: Flags [R.], seq 0, ack 1, win 0, length 0  
5 Packet - 23:02:14.284836 IP seadev01.olympus.f5net.com.39272 > AdithyaVe1.com.telnet: Flags [S], seq 2750626194, win 14600, options [mss 536], length 0  
6 Packet - 23:02:14.284887 IP AdithyaVe1.com.telnet > seadev01.olympus.f5net.com.39272: Flags [R.], seq 0, ack 1, win 0, length 0  
7 Packet - 23:02:15.284560 IP seadev01.olympus.f5net.com.39272 > AdithyaVe1.com.telnet: Flags [R.], seq 1, ack 2802410946, win 0, length 0  
请在两种情况下都具有以上ip地址的设备上查找tcpdump

这里
seadev01.olympus.f5net.com作为telnet客户端

AdithyaVe1.com.telnet作为telnet服务器

理想情况:

3:02:02.950535 IP seadev01.olympus.f5net.com.39270 > AdithyaVe1.com.telnet: Flags [S], seq 853690436, win 14600, options [mss 1460,sackOK,TS val 2527350559 ecr 0,nop,wscale 7], length 0  
23:02:02.950609 IP AdithyaVe1.com.telnet > seadev01.olympus.f5net.com.39270: Flags [R.], seq 0, ack 853690437, win 0, length 0  
在上述情况下,通过发送RST数据包直接拒绝连接

超时情况:

$ telnet 10.145.65.46  
Trying 10.145.65.46...  
Connected to 10.145.65.46.  
Escape character is '^]'.  
Connection closed by foreign host.  
1 Packet - 23:02:12.284611 IP seadev01.olympus.f5net.com.39272 > AdithyaVe1.com.telnet: Flags [S], seq 2750626194, win 14600, options [mss 536], length 0  
2 Packet - 23:02:12.284657 IP AdithyaVe1.com.telnet > seadev01.olympus.f5net.com.39272: Flags [R.], seq 0, ack 2750626195, win 0, length 0  
3 Packet - 23:02:13.284453 IP seadev01.olympus.f5net.com.39272 > AdithyaVe1.com.telnet: Flags [S], seq 2750626194, win 14600, options [mss 536], length 0  
4 Packet - 23:02:13.284515 IP AdithyaVe1.com.telnet > seadev01.olympus.f5net.com.39272: Flags [R.], seq 0, ack 1, win 0, length 0  
5 Packet - 23:02:14.284836 IP seadev01.olympus.f5net.com.39272 > AdithyaVe1.com.telnet: Flags [S], seq 2750626194, win 14600, options [mss 536], length 0  
6 Packet - 23:02:14.284887 IP AdithyaVe1.com.telnet > seadev01.olympus.f5net.com.39272: Flags [R.], seq 0, ack 1, win 0, length 0  
7 Packet - 23:02:15.284560 IP seadev01.olympus.f5net.com.39272 > AdithyaVe1.com.telnet: Flags [R.], seq 1, ack 2802410946, win 0, length 0  
在这种情况下,设备也在发送RST数据包,但连接不是
终止。假设RST(第二个)数据包在n/w中的某个位置被丢弃。因此,telnet客户端再次发送SYN(第3个)数据包,但第4个数据包中的ack号是1。我并不理解tcp为什么向客户端发送6,7个数据包。
如何在第7个数据包中关闭连接,即使它具有错误的确认序列号2802410946而不是2750626195(SYN序列号(2750626194)+1)

TCP多次重试SYN。设备未联机,因此超时。非主题。如果在第二次尝试中出现这种情况,服务器为什么发送带有ack seq no 1的RST数据包(第四个数据包)。