WireShark 抓取Telnet包

时间:2022-07-10 11:24:32

用Python的Asyncore.dispatcher写了个小服务器,客户端使用telnet连接上去之后一直显示连接丢失,想抓下包看看

抓包结果如下:

WireShark 抓取Telnet包

服务器在192.168.1.102:8080 端口监听

从第二行是客户端telnet的请求,SYN seq = 0

第三行是同样的请求,表明这个包被重传或者通过其它路由到达了8080端口。

第四行是服务器对客户端连接请求的确认 SYN+ACK seq = 0 ,ack = 1

第五行是路由器发送过来的,表明当前的包有更优化的路由传递。

紧接着是客户端的ACK,三次握手表明连接建立

稍后,8080端口发送了一个FIN关闭请求,35660确认这个FIN请求,ACK=2

正常的关闭需要四次请求,客户端这边需要再发送一次FIN,但是抓的包中没有看到

WireShark 抓取Telnet包

在抓的包中看到8080端口发送过来的RST请求,表明服务端因为异常需要提前关闭连接,客户端收到RST之后可以不发送ACK确认,因为服务器端不会等待这个确认信息直接关闭连接了。