我目前正在使用libnet和pcap进行编程,并且我捕获了以下TCP握手,但服务器除握手的最后一步外没有响应并以重置进行响应。
x.x.x.1 =客户端(使用libnet发送的数据包)
x.x.x.2 =服务器(内核发送的数据包)
握手的第三步是否有效?客户端将服务器seq.number + 1作为确认,因为这是他期望的下一个字节。有没有理由说服务器根据此tcpdump发送重置?如果不是,我必须到别处去看看。
x.x.x.1.y> x.x.x.2.y SYN ,seq 100,length 0 win 65535
x.x.x.2.y> x.x.x.1.y SYN | ACK ,seq 145411296,ack 101,length 0,options [mss 1460],win 14600
x.x.x.1.y> x.x.x.2.y SYN | ACK ,seq 101,ack 145411297,length 0,win 65535
x.x.x.2.y> x.x.x.1.y RST ,seq 145411297,length 0,win 0
此外,连接超时之前的时间是什么时候?
答案 0 :(得分:0)
没关系,我找到了。
握手的第三步应该是ACK而不是SYN | ACK。