在手机行业中,肯定测试数据业务、wifi,当然还有测试专网业务的(做集群、专网这块的人应该知道),有时一个手机中有专网、公网(三大运营商)、wifi的数据业务,当然这里面肯定有优先级,自己也知道,但是怎么去判断手机到底用的什么数据呢?
当然,有很多中方法可以判断、对比法、热点共享法等手法,但是这里我还是给大家介绍下有点逼格的,需要输入命令的形式,这样才体现出我们的水平。
(因为公司网络限制上传截图,大家就按照我的步骤看吧)
第一步:打开一个cmd窗口
输入:adb devices
这步是确认手机是否与电脑连接成功,有没有端口;
第二步:输入adb shell
这里确保手机已经root状态(显示root@billy:/ #),有个#号是说明已经root了,应该有内部root密码,不知道问研发,adb shell
第三步:输入netcfg,查询当前手机所使用的网口,
root@billy:/ # netcfg
窗口中找有up 显示的端口,显示down口的就不用管它,
解释下(注意不一定是0,所以要netcfg查看,):
eth0属于专网口---要确认专网数据能不能用就找这个,一般会默认含有;
rement0属于公网口---要确认公网数据能不能用就找这个,这个插电信、移动、联通卡也会默认含有;
Wlan0属于公网wifi网口---要确认wifi数据能不能用就找这个,不连接wifi就没有Wlan口显示;
第四步:这步说明下,要判断那个业务,就使用哪个网口,有执行抓包的,就说明手机一直在使用该数据;
(1)输入tcpdump -i eth0 ,使用专网网口抓包,
如:root@billy:/# tcpdump -i eth0
当走公网数据业务,此命令显示没有执行抓包程序,反之,走公网数据就会一直抓包,界面会一直显示;
(2)输入tcpdump -i rmnet0,使用公网网口抓包,反之,走公网数据就会一直抓包,界面会一直显示;
如:root@billy:/# tcpdump -i rmnet0
当不走公网数据业务,此命令显示没有执行抓包程序
(3)输入 tcpdump -i wlan0 ,使用wlan网口抓包,
如:root@billy:/# tcpdump -i wlan0
当不走wifi数据业务,此命令显示没有执行抓包程序,反之,走公网数据就会一直抓包,界面会一直显示;
注意:手机要在使用数据的情况下才会显示抓包,如:上QQ、微信、浏览网页等,否则也不执行抓包的;
第五步:不用手机使用数据业务,我们可以采用ping网页的方式判断;
另开启cmd窗口(这一步是确定第3步哪个口可以抓包就是走哪个数据业务)
输入:
adb shell ping 79.79.0.14 ---是ping本机ip地址,确认电脑和手机是否连通
再ping百度:
adb shell ping www.baidu.com ---记住,不加adb shell的是用电脑本身的网络,adb shell 说明用的是手机的网络
第五步执行ping百度的时候,在第四步打开对应的网口就会自动抓包,cmd界面可以看到,说明使用当前业务;
举例:手机插有公网卡,在连接可用wifi,判断当前手机使用的是公网的还是wifi的数据;
一般我们知道手机优先使用wifi,所以我们先判断wlan0口是否在抓包(第四步(3)),在抓就说明用的是wifi数据,当然此时在看rmnet0口是不会抓包的(第四步(2)),应该是不能上的,否则就得判断下公网数据是不是流出去了,这就是问题。
作者:享有盛誉之名