Skip to main content

 路由器设置 > 新闻资讯 >

一个无线故障的排查过程

2014-07-09 23:45 浏览:


本文不是为了说明解决了多难的问题,而是提供了查找app连接服务端的问题的几种解决问题的思路和方法。研发人员反映有个手机app业务在3G网络下刷新不了,是连接的测试环境的服务,通过办公网和wifi正常。


研发认为可能是在3G网络或者是服务器所在IDC机房问题,问题出现有一段时间了。真这么神奇?专治疑难杂症30年的我得查查~找来一台andriod手机,root过的,安装ssh终端模拟器app,希望直接连接网络进行测试。


发现能ping ,说明网络是通的,不能telnet服务端口。想通过curl模拟请求时,发现手机全键盘输入长长的命令,太痛苦了。还找同事借个蓝牙键盘来输入呢,发现还真是可行,只是人家办公用的键盘,不能长时间借我。和一同事聊起,反正是测试网络,不如用手机作为移动热点,电脑通过手机上网,也是3G呀。其实也可以用3G上网卡,我有一个,只是放家里了,没法测试。成功连接热点,用实体键盘操作爽太多了。


ping 3000多ms,慢,丢包,超时,办公室的3G网络质量确实不佳呀,不会是网络质量或速度问题引起的吧?


tracert ,16hop,断断续续,多点超时,但能通。


只有祭出tcpdump了


光盯端口是不行的,噪音太大,通过IP才能干净准确,如何找到手机的的IP呢?访问IP查询网站,如www.ip138.com这类网站是一种方法,页面会显示本机的IP。还好上面是电脑连接热点上的网,浏览器也可以使用。另一种稳妥的方法是,先连接到服务器一个无人使用的端口,服务器tcpdump 端口,找到IP。我两种都用了,发现网页方法查到的也是正确的。


找到IP就好办多了,tcpdump host IP and port 端口 抓包,发现跟服务的3次握手没完成,只收到SYN,没有ACK。再tcpdump host ip and port 80,能正常完成3次握手,难道是服务程序的问题,网络连接处理有问题?要不然让开发调试一下?转念一想不对,只有SYN,没有ACK更有可能服务器拒绝引起的,可能是防火墙的问题。


马上检查了iptables配置,发现确实有几条针对服务器端口的accept和一条drop,规则是允许内网和办公网访问,刚才找到那IP不是办公网IP,所以肯定是不能访问的。去掉drop规则,测试访问OK,问题解决了~原来防火墙规则是研发想要保证测试环境的安全加上的,没想到3G网络连接测试时会出问题,研发人员提出为什么wifi又可以呢,嘿嘿,wifi出口也用的办公网出口IP。上面提到的几种思路和方法:

  1、终端模拟器app

  2、蓝牙键盘

  3、3G热点或3G上网卡测试网络问题

  4、IP查找方法

  5、tcpdump分析网络操作过程

  6、告诉大家了wifi出口IP的情况


顺便提下终端模拟器可以支持很多命令哦,真是一个mini linux


进入/system/bin/ ls一下能看到能支持的命令