追踪IOS设备的网络流量

在做移动端开发时,找到一款合适自己的能进行移动设备HTTP抓包的工具也是非常重要的。正所谓,工欲善其事必先利其器。今天给大家介绍一款强大的支持手机端抓包的工具:mitmproxy。

追踪IOS设备的网络流量

编号:TD-0x0002

标签:mitmproxy;ios;

描述:

在做移动端开发时,找到一款合适自己的能进行移动设备HTTP抓包的工具也是非常重要的。正所谓,工欲善其事必先利其器。今天给大家介绍一款强大的支持手机端抓包的工具:mitmproxy。官网地址:http://mitmproxy.org/ 。这是mitmproxy官网的自述:

An interactive, SSL-capable man-in-the-middle proxy for HTTP with a console interface

它是开源的,托管在github上,使用python开发,跨平台。
https://github.com/mitmproxy/mitmproxy

附录:

下面以Macbook和IOS设备为基础来介绍如何抓取网络流量信息。请将两个设备联入同一个路由器。

安装mitmproxy和证书

  • 首先,请使用pip来安装mitmproxy。
pip install mitmproxy
  • 接下来,查找Macbook的ip地址:
    [System preferences > Network > Advanced > TCP/IP]
    Screen-Shot-2016-10-16-at-15.18.22

  • 然后在命令行输入mitmproxy

  • 在IOS设备上设置代理服务,填上Macbook的地址,端口默认8080:
    [Settings > WLAN > [select current network] > HTTP PROXY(Manual)]
    IMG_0489

  • 在IOS上安装证书,请在浏览器上访问 mitm.it,选择证书安装。
    IMG_0488

开始查看网络请求

以刷新和查看微信朋友圈为例,操作为刷新朋友圈并点开一张图片。
IMG_0492

下面是mitmproxy的截屏。
Screen-Shot-2016-10-16-at-15.37.25

经结果可以发现,刷新朋友圈是一次Post连接,而点开图片是Get,并且根据程序输出顺序看,一条朋友圈中包含的多张图片时,当一张被用户点击,其余图片是一同被App缓存到手机的。根据Get的地址,在浏览器中打开,可验证其存储的地址。