现象:无线AP设置为【路由模式】,出现部分手机QQ游戏无法登陆【显示网络不给力】,但是浏览网页基本正常,速度偏慢。而【AP模式】一切正常。
第一感觉是DNS解析问题,于是手动指定了手机的DNS为8.8.8.8。发现果然游戏正常了。
然后重新设置为DHCP自动分配,查看了下自动获得的DNS为192.168.16.251和168.95.1.1。但是在无线AP界面上广域网DNS设置是202.101.172.35和202.101.172.47。
于是开始抓包。root@mako:/ # /data/local/tcpdump -p -s 0 -w /sdcard/dump/bad3.pcap
在手机上抓包分析后如下:
查了下获得的游戏服务器地址为202.55.10.189归属地为香港,而且是从168.95.1.1这台DNS服务器上获得,但是设置为手动指定DNS为8.8.8.8的时候获得游戏服务器地址是140.206.160.159归属地为上海联通。
很好奇手机上这个DNS是哪里获得的。于是查了下168.95.1.1,发现归属地为台湾电信。之前一直没注意到这是一个公网IP。猛然想到雷凌老窝在台湾。于是返回无线AP设置界面,看到下面这幺蛾子的事情:
原来在无线AP设置成【路由模式】的时候,局域网DNS服务器就起作用了。给手机分配的DNS并不是按常规想象的广域网设置页面上的那个DNS,而是这个局域网DNS。
总结:用雷凌原厂SDK的各位,如果设置为【路由模式】,就手动修改下局域网这个页面下么的DNS服务器地址,不要用这个168.95.1.1的坑货,否则你上网解析的优先都是境外服务器。
最后记录几个用到的命令:
1 2 3 4 5 6 7 8 9 |
adb shell //打开模拟终端 netstat -ano //查看网络连接 busybox netstat -p //显示连接的pid, ps:busybox下的netstat更为强大些 ./tcpdump -p -vv -s 0 -w /sdcard/dump/bad3.pcap //抓包并保存到文件 adb pull /sdcard/dump/bad3.pcap //拉文件到PC当前目录 |
用到的工具:tcpdump