移动端网络检测

移动端网络检测


通过移动端抓包,可以较快定位移动网络环境下,在资源访问和上传过程中的网络问题。

不使用HTTP Proxy抓包

网络上常用的方法是通过HTTP Proxy抓包。缺陷有二:

1.无法抓取EDGE/3G/4G的数据包

2.如果WiFi无法设置代理,此方案无法执行

安卓篇

首先你必须判断自己的安卓设备有无root。如果手机上有类似SuperSU的权限管理工具则说明已经是一台root设备。

已root

工具:

shark for root

点此下载

界面:

使用方法:

点击Start即开始

点击Stop即结束

可在sdcard目录中找到抓的包

未root

工具: tPacketCapture

界面:

点此下载

使用方法:

点击Capture

点击I trust this application

点击OK

下拉菜单中选中改应用,点击Disconnect

点击FILE LIST可以看到抓到的包。点击该包可以用QQ发送给电脑

也可在Android/data/jp.co.taosoftware.android.packetcapture/files中找到抓的包

IOS篇

环境:

MAC & Xcode

方法:

USB链接iOS设备和Mac

打开terminal

rvictl -s <UDID>

UDID可以在iTunes中的Summary找到。点击Serial Number直到出现UDID。注意UDID为小写,尽管iTunes显示为大写。

可以右键点击该UDID,选择copy,即可获得小写的UDID

输入UDID时,记得去掉<>

接着会提示成功

Starting device <UDID> [SUCCEEDED] with interface rvi0

这个时候在wireshark上选择rvi0这个设备开始抓包就行了

在Capture中的Options里可以找到rvi0.勾选之后,start

抓到要的信息之后,点击stop.并在file中选择save as,保存该包

退出

rvictl -x <UDID>

使用CURL获取http header

倘若能在移动端获取http头部信息,那么对于网络分析来说,将提供很大帮助。而且比起抓包要方便不少。

而且这种方法不需要root(目前仅限安卓)

工具:

Terminal IDE

点此下载

使用方法:

进入应用,点击Terminal IDE

尽量选择IDE键盘,效果如图所示

我这里输入了

curl -voa http://7rfgur.com2.z0.glb.qiniucdn.com/tiger2.jpg

大家在使用过程中,请自行添加要检测的URL。跟在curl -voa 之后

附录

安装wireshark

这是抓包、分析工具。我这里默认MAC OS环境。

安装X11

点此下载

安装wireshark

点此下载

其他实用工具

安卓环境下

Fing

可查看WiFi中的其他设备

点此下载

IP Tools

可查看IP信息,Trace route,Ping等等

点此下载

Speedtest

可做速度测试

点此下载

Terminal Emulator

强大的终端工具,需要ROOT权限

点此下载

BusyBox

增添更多的linux命令,需要ROOT

点此下载