问题描述 windows终端上的微信和QQ不定时掉线,或者发消息有延迟,但是上网打开网页是正常的。
处理过程 1、由于微信或者QQ的数据包不能直接指定ip抓包,需要借助Microsoft Network Monitor工具定位微信服务器的ip,如下: 由于腾讯的服务器太多,发送消息的服务器不固定,建议使用Microsoft Network Monitor工具找出ip之后,多验证一下ip是否正确,验证方法就是在设备上针对服务器ip抓包,同时在pc上发微信图片或者消息验证设备上有没有数据包经过! 2、找到腾讯服务器的ip之后,在出现现象的时候抓包分析,如下:
(1)数据包中有设备发出来的rst包,证明是AF发rst包的证据是:ip.id==0X7051; (2)在rst包之前看到最后一次相隔了1分22秒,终端才重新向服务器发起请求。 3、检查设备的TCP和UDP超时配置,发现超时时间并非设置的默认值,如下: (1)以标准版本AF7.3版本操作路径示例:在【系统】-【系统配置】-【网络参数】中留空对应协议的ALG转换端口或取消勾选对应协议后保存,实现关闭对应协议的ALG功能; (2)以标准版本AF7.4版本操作路径示例:在【系统】-【系统配置】-【通用配置】-【网络参数】中留空对应协议的ALG转换端口或取消勾选对应协议后保存,实现关闭对应协议的ALG功能。
根因 微信和QQ等聊天软件会向服务器发起心跳包,用来保持一直在线的状态。如果在会话保持断开之前,心跳包没有及时发给服务器,那么这些聊天软件将会掉线。
解决方案 将【网络参数】里面的TCP和UDP超时时间改成默认值,如下: AF7.4版本之前,AF的rst包的ip.id只有0x5826,从AF7.4开始ip.id在原来基础上增加了0x7051。 |