即使所有其他协议(telnet / HTTP / FTP)正常工作,我的客户端也无法连接到我的协议端口(TCP),但出现了一些networking故障。
netstat显示我的服务器正在侦听,并在服务器上的tcpdump显示所有3个数据包交换:
18:29:16.578964 IP 10.9.59.10.3355> 10.9.43.131.5084:S 2602965897:2602965897(0)win 65535 <mss 1460,nop,nop,sackOK>
18:29:16.579107 IP 10.9.43.131.5084> 10.9.59.10.3355:S 3464857909:3464857909(0)ack 2602965898 win 5840 <mss 1460,nop,nop,sackOK>
- EC2 – MS Server 2012不断重置自己的时间
- 如何同步两个CalDAV服务器
- 使用Puppet同步两个目录
- 在Windows Server环境中通过LAN或FTP进行自动文件同步/备份?
- IMAP帐户迁移/同步
18:29:16.579284 IP 10.9.59.10.3355> 10.9.43.131.5084:。 ack 1赢65535
但不知何故,netstat -t显示仍然在SYN_RECV中的连接,就好像TCP状态机看不到ack。 我必须重新启动我的服务器才能使其工作。
syncookie没有启用,我知道从客户端代码行为和tcpdump没有SYN泛滥。
非常感谢。
如果侦听器在套接字上设置了DEFER_ACCEPT选项,并且尚未准备好接受连接,则会发生这种情况。
连接处于SYN_RECV状态,因为内核已经收到一个处于LISTENING模式的端口的SYN数据包,但是另一端没有回应ACK。
通过运行服务器上的捕获来检查服务器是否收到ACK。 捕获是在客户端还是在服务器上进行的?