Fiddler不但能截获各种浏览器发出的HTTP请求, 也可以截获各种智能手机发出的HTTP/HTTPS请求。
Fiddler能捕获IOS设备发出的请求,比如IPhone, IPad, MacBook. 等等苹果的设备。 同理,也可以截获Andriod,Windows Phone的等设备发出的HTTP/HTTPS请求。
Andriod配置方法
1)确保手机和Fiddler所在主机在同一个局域网中
2)获取Fiddler所在主机的ip地址,通过cmd命令进入命令编辑器,输入ipconfig -all,找到IPv4地址【此时的ip地址应该是电脑网络的ip地址】
一、配置Fiddler, 允许"远程连接"和允许截取"HTTPS"请求
打开Fiddler, Tools-》Fiddler Options -》HTTPS。 (配置完后记得要重启Fiddler),选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求
继续打开Tools-》Fiddler Options-》connection,选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来
二、获取Fiddler所在机器的IP地址
对手机所连接的无线网络进行设置,点击WLAN,长按与Fiddler所在主机在同一个局域网的wifi,长按点击【修改网络】,选中【显示高级选项】,代理设置为手动,输入代理服务器的主机名和端口后保存【这一步是为了使fildder能够作为服务代理器截取手机app的包】。代理服务器的主机名即上面的电脑IPv4地址,端口为Fiddler上配置的端口(默认为8888),可以到Fiddler菜单栏中【Tool】-【Fiddler Option】的【Connections】中查看。
三、Android手机上安装Fiddler证书
在手机浏览器上输入:http://IPv4地址:端口(例如:http://192.168.11.29:8888)【此时的ip地址为代理服务器即fiddler电脑的ip,端口号也是fiddler中配置的端口号】,
【fiddler在此时就相当于一个服务器,有自己的ip和端口号,手机正确请求后,fiddler默认会返回一个fiddler证书供手机端下载】
点击【FiddlerRoot certificate】下载安装Fiddler证书。
若在浏览器上无法打开该地址,需要做两项检查:
1、确保在浏览器、wifi中配置的代理与Fiddler所在主机地址和Fiddler中配置的端口,三者保持一致;
2、确保在Fiddler-【Tools】-【Fiddler Option]-[Connection]中【Allow remote computers to connect】已经勾选上,若没有勾选,则需要勾选后保存并重启Fiddler。
打开手机上的浏览器或APP,可以在Fiddler上看到手机上的数据包了。
IOS配置方法
一、配置Fiddler, 允许"远程连接"和允许截取"HTTPS"请求
二、获取Fiddler所在机器的IP地址
前两步与Andriod相同
三、IPhone上安装Fiddler证书
这一步是为了让Fiddler能捕获HTTPS请求。 如果你只需要截获HTTP请求, 可以忽略这一步
1. 首先要知道Fiddler所在的机器的IP地址:假如我安装了Fiddler的机器的IP地址是:192.168.1.187
2. 打开IPhone 的Safari, 访问 http://192.168.1.187:8888, 点"FiddlerRoot certificate" 然后安装证书
注意:需要在证书信任设置中开启信任,否则安装后不生效,设置-->通用-->关于本机,下滑至最下方选择 证书信任设置
四、IPhone上配置Fiddler为代理
打开IPhone, 找到你的网络连接, 打开HTTP代理, 输入Fiddler所在机器的IP地址(比如:192.168.1.187) 以及Fiddler的端口号8888
五、开始抓包
现在IPhone上的应用(比如Safari, Firefox, Itunes, App Store)发出的HTTP/HTTPS都可以被Fiddler获取。
用完了, 记得把IPhone上的Fiddler代理关闭, 以免IPhone上不了网。
六、只能捕获HTTP,而不能捕获HTTPS的解决办法
有时候会发现, Fiddler 只能捕获IPhone发出得HTTP请求, 而不能捕获HTTPS请求, 原因可能是证书没有安装好。 解决办法是:
1. 先把IPhone上所有的Fiddler证书删除 (拿出IPhone, 点”设置“->“通用”->"描述文件")
2. 安装上面的方法,重新安装Fiddler证书