最新消息:

悲剧的TCP三次握手

Cisco admin 2717浏览 0评论

悲剧的TCP三次握手        原创:wildlee

今天我朋友突然发来一个问题,说是一个搭建好的PPTP服务器,用windows7可以拔入,用windowsXP不行,我靠有这事,之前我也做过不少这种测试没有发现有这种情况,便帮忙排除。在了解了对方的初步网络环境情况下,我在本地开始测试,发现果然如此!究竟是何原因?通过我几次下来的对连接情况抓包分析,发现了让人蛋疼的情况。请大家注意观察,开开眼界。

以下143为PPTP服务器,192.168.1.2[7]与192.168.1.20[xp]分别做PPTP客户端对PPTP服务器连接测试。

Windows7

 

Windows xp

仔细看大家应该看到怪异的一幕,从服务端过来的SYN/ACK,它的TCP窗口大小为0,这预示着客户将不能对它在发送任何数据分组,但在WINDOWS7中还是对服务器回复了SYN/ACK.不过随后你可以看到服务端对客户机随即更新了一个报文,是一个TCP窗口大小更新报文,这个里面的SYN/ACK与服务端首次握手的SYN/ACK相同。在XP中它可不吃这一套,服务端过来的TCP窗口大小为0的报文,它直接警告服务端TCP窗口大小为0.

后来我尝试将服务端的TCP窗口初始大小改变,发现就算注册表中增加了TcpWindowSize值,改是无法让它生效,也不知道这是不是系统BUG,郁闷!不管怎么说,这种情况很少见,我也没有遇到过,记下来留个纪念吧。如果有天你也遇到了,恭喜你悲剧了。嘿嘿

wildlee博客

转载请注明:爱开源 » 悲剧的TCP三次握手

您必须 登录 才能发表评论!