Fiddler绝对称得上是"抓包神器",Fiddler不但能截获各种浏览器发出的HTTP请求, 也可以截获各种智能手机发出的HTTP/HTTPS请求。

  Fiddler能捕获ISO设备发出的请求,比如IPhone, IPad, MacBook. 等等苹果的设备。同理,也可以截获Andriod,Windows Phone的等设备发出的HTTP/HTTPS。

  前提条件:安装Fiddler的机器,跟Iphone 在同一个网络里,否则IPhone不能把HTTP发送到Fiddler的机器上来。

一.截获智能手机发出的HTTP包有什么用?

  用处一: 手机软件程序员利用Fiddler,可以截获手机发出的HTTP包, 从而调试程序

  用处二: 软件测试人员用于测试智能手机上的软件。

  用处三: 可以用来在App应用商店中刷排名

 

二.配置Fiddler
1.配置fiddler允许监听到https(fiddler默认只抓取http格式的)
  打开Fiddler菜单项Tools->TelerikFiddler Options->HTTPS,勾选CaptureHTTPS CONNECTs,点击Actions,勾选Decrypt HTTPS traffic和Ignore servercertificate errors两项,点击OK(首次点击会弹出是否信任fiddler证书和安全提示,直接点击yes就行),见图:

fiddler ios抓包配置 fiddler抓包苹果_HTTPS

2.配置fiddler允许远程连接
  上一步窗口中点击Tools->TelerikFiddler Options->Connections,勾选allow remote computers to connect,默认监听端口为8888(下图Fiddler listens on port就是端口号),若端口被占用可以设置成其他的,配置好后要重新启动fiddler,如下图:

fiddler ios抓包配置 fiddler抓包苹果_抓包_02

  点击完成之后,重新启动Fiddle即可。

 

三.IPhone上安装Fiddler证书

  首先,然后要知道电脑的ip地址(当然这个电脑是安装fiddler的电脑),电脑ip地址可通过cmd,输入ipconfig查询,或网络共享中ipv4找到,我的是10.39.56.35,
再者,接下来开始操作手机。
  这一步是为了让Fiddler能捕获HTTPS请求。如果你只需要截获HTTP请求,可以忽略这一步

  1. 首先要保证手机和电脑都处于同一个网络,要知道Fiddler所在的机器的IP地址,假如我安装了Fiddler的机器的IP地址是:192.168.1.100

  2. 打开IPhone的Safari, 访问http://10.39.56.35:8888,点"FiddlerRoot certificate" 然后安装证书,这里的端口号,可通过Fiddle的Tools->TelerikFiddler Options->Connections,port中值就是端口号,一般默认为8888。

fiddler ios抓包配置 fiddler抓包苹果_HTTP_03

fiddler ios抓包配置 fiddler抓包苹果_fiddler ios抓包配置_04

fiddler ios抓包配置 fiddler抓包苹果_Fiddler_05

fiddler ios抓包配置 fiddler抓包苹果_HTTP_06

 

四.IPhone上配置Fiddler为代理

  打开IPhone, 找到你的网络连接,打开HTTP代理,输入Fiddler所在机器的IP地址(比如:10.39.56.35) 以及Fiddler的端口号8888。

fiddler ios抓包配置 fiddler抓包苹果_HTTPS_07

五.大功告成,开始抓包

  现在IPhone上的应用(比如Safari, Firefox, Itunes, App Store)发出的HTTP/HTTPS都可以被Fiddler获取。

fiddler ios抓包配置 fiddler抓包苹果_抓包_08

fiddler ios抓包配置 fiddler抓包苹果_HTTPS_09

 

PS:Iphone上已经安装了fiddler的证书,但是捕获的某些https请求还是看不到内容,一直显示tunnel to xxx 443。