【结论】
1) Android微信客户端和微信服务器A的(443端口)维持一个TCP长连接;定时向该服务器发送心跳;
2) 有新消息时,微信服务器A通知Android微信客户端;后者和微信服务器B建立新的TCP短连接,并获得数据;
3) 心跳间隔比较长,约300秒左右;
【协议分析】
分析涉及到两个微信服务器:
服务器一:183.61.49.148 Android手机微信客户端定时向该服务器发送心跳;
服务器二:14.17.52.147 当知道有新消息时,Android手机客户端会向该服务器请求新消息;
步骤一:Android手机微信客户端登陆;细节暂不分析;
步骤二:Android手机微信客户端每隔约270秒(或者450秒)通过TCP长连接向183.61.49.148发送心跳消息;
步骤三:当有新消息时,183.61.49.148发消息,通知Android手机微信客户端有新消息;
步骤四:Android手机微信客户端和14.17.52.147重新建立TCP连接;14.17.52.147发送数据给Android手机微信客户端;接收完数据后,断开和14.17.52.147的TCP连接;