思路很简单,就是用电脑构建一个无线热点,将手机接入这个无线网络,通过软件监视电脑网络,过滤出手机所发出的请求。
整个过程的步骤如下:
1、 将电脑接入有线网络,安装无线路由软件Connectify。
2、 用Connectify建立无线路由,例如无线热点名为Connectify-me。
3、 我们在电脑上使用网络包分析工具Wireshark来监视所有的网络请求。安装并打开Wireshark,并选择现在可用的网络,点击Start(点击Interface List可以查看所有网络接口的请求状况,当前所使用的网络接口会有包接收和发送)。
4、 我们现在在Wireshark的窗口中可以看到所有的网络请求,包括TCP、HTTP,这些请求会实时刷新。在Filter输入框中输入http并回车,这样我们将只会看到http请求。过滤器还可以定义更多的过滤规则,后文会有所提及。
5、 将手机连接到Connectify-me网络,此时手机上所有的请求都将经过电脑的网络并被Wireshark监视。
6、 我们此时已经可以通过Wireshark来监视手机的网络请求了,以网易新闻客户端为例,打开后可以看到新增了多个网络请求,如红框所示的网络请求就是其中一条。
7、 双击该记录来查看该请求的详细信息,可以看到是一个GET请求,请求的URI是/madr?app=xxxx。
8、 双击下方的Fullrequest URI可以直接通过浏览器打开这条请求并看到服务器反馈的相关数据。可以具体分析出这条请求和广告相关。
9、我们还可以更改Wireshark的过滤器来匹配需要的内容,例如“http contains "baidu.com"”能够匹配URL中包含“baidu.com”的HTTP请求,ip.addr eq“192.168.1.1”能够匹配目标ip等于“192.168.1.1”的请求。你可以在百度文库查看到Wireshark过滤器的更多用法。
以上,我们介绍了在电脑上监视分析手机App网络请求的方法,这样可以帮助我们快速定位移动开发的问题,提高解决问题的效率。