App抓包工具fiddler

fiddler.jpg

  1. 确保安装的 fiddler 是最新的 beta 版本,安装地址传送门

  2. 关闭 fiddler,下载并安装 fiddler 证书生成器传送门 (注:fiddler 证书生成器只能在 Vista 以上系统运行)

  3. 打开 fiddler,依次点击工具栏的 Tools – Fiddler Options…,切换到 HTTPS 选项卡,勾选 Capture HTTPS CONNECTs,勾选 Decrypt HTTPS trafic,之后会弹出安装证书的提示,一路点是或确定安装

  4. 依然停留在 HTTPS 选项卡,在下拉菜单中选择 …from remote clients only,之后点击 Export Root Certificate to Desktop,此时证书会生成到桌面上,名为 FiddlerRoot.cer,点OK保存

  5. 将上一步导出的 FiddlerRoot.cer 通过Email附件发送给自己绑定在iOS设备中的Email
    打开iOS设备的邮箱客户端,接收到刚才自己给自己发的邮件,点击附件进行证书的安装,也就是说,这一步将 fiddler 的证书安装在iOS设备中
    准备工作结束了

下面按照这个操作

下面以VirtualBox,(如果是win系统直接下载fiddler就可以了)为例

  1. VirtualBox 工具栏 – 设备 – 更改网络连接 – 在网络选项卡中将连接方式改为 Bridged Adapter(默认为NAT)

  2. Fiddler 工具栏 Tools – Fiddler Options – Connections 中勾选 Allow Remote Computers to Connect

  3. 查看虚拟机的IP地址,如192.168.1.7

  4. 打开iOS设置,进入当前wifi连接,设置HTTP代理Group,将服务器填为上一步中获得的IP,即192.168.1.7,端口填8888
    完成上述操作后,运行iOS上的APP,Fiddler中就可以捕捉到请求啦~

注:PC上操作的话跳过第一步即可,不过要保证iOS所用的wifi和PC插的是由同一台路由器

用 fiddler 进行抓包(若抓包不成功重启一下 fiddler 即可),如果不行就重启fiddler

效果可以看看这里Secret iOS business; what you don’t know about your apps里面熟悉的Fiddler截图

上一张我抓的51job的api的图,他们用的还是xml,

51job.jpg

PS补充

fiddler这个是记录得比较早的了而且是win下用的(我当时用的虚拟机测的,汗),mac下我一直用Charles抓包,找了篇教程传送门