Fiddler手机抓包(iPhone)

Fiddler不但能截获各种浏览器发出的HTTP/HTTPS请求,也可以截获各种移动设备(包括Andriod和IOS)发出的HTTP/HTTPS请求。最关键的是,Fiddler还可以断点调试,修改Request和Response,而且即便抓包的是IOS设备,这些操作也可以直接在Windows PC上进行,不需要非得在MAC上。

一、PC上安装Fiddler

官网下载地址:https://www.telerik.com/fiddler

安装步骤略。

二、Fiddler配置 (配置完后记得要重启Fiddler)

1、进入Tools-Options...,设置HTTPS,如下图所示

Fiddler手机抓包(iPhone)_第1张图片

2、设置Connections,选中"Allow remote computers to connect",如下图所示,Fiddler的默认端口是8888

Fiddler手机抓包(iPhone)_第2张图片

三、手机配置

(1)  网络代理设置

安装Fiddler的机器,跟Iphone(ipad) 必须在同一个网络里, 否则IPhone(ipad)不能把HTTP发送到Fiddler的机器上来。

打开IPhone,  找到你的网络连接, 打开HTTP代理, 输入Fiddler所在机器的IP地址(可以通过cmd命令窗口中输入ipconfig来查看,比如:192.168.1.104) 以及Fiddler的端口号8888

(2) Fiddler证书安装

这一步是为了让Fiddler能捕获HTTPS请求。 如果你只需要截获HTTP请求, 可以忽略这一步

1. 首先要知道Fiddler所在的机器的IP地址(在上一步中我们其实已经知道了):假如我安装了Fiddler的机器的IP地址是:192.168.1.104

2. 打开IPhone 的Safari,访问 http://192.168.1.104:8888 点击最下面的"FiddlerRoot certificate", 然后安装证书

Fiddler手机抓包(iPhone)_第3张图片

 

Fiddler手机抓包(iPhone)_第4张图片

3. iOS 10.3升级之后,安装的证书默认是不启用的,需要手动去开启。设置 –> 通用 –> 关于本机 –> 证书信任设置,将Fiddler的证书开关打开就行了。

Fiddler手机抓包(iPhone)_第5张图片

现在大功告成,可以抓包了。IPhone上的应用(比如Safari, Firefox, Itunes, App Store)发出的HTTP/HTTPS都可以被Fiddler获取,不但能截获, 还可以下断点,修改Request, 修改Response。

四、注意事项

(1) 用完了, 记得把IPhone(ipad)上的Fiddler代理关闭, 以免IPhone(ipad)上不了网。

(2) 只能捕获HTTP,而不能捕获HTTPS的解决办法 

有时候会发现, Fiddler 只能捕获IPhone发出得HTTP请求, 而不能捕获HTTPS请求, 原因可能是证书没有安装好。 解决办法是:

1. 先把IPhone上所有的Fiddler证书删除 (拿出IPhone, 点”设置“->“通用”->"描述文件")

2. 按照上面的方法,重新安装Fiddler证书

五、设置代理后,手机连不了网的解决办法

经过上面的设置,如果手机通过代理还是连不了网,可以进行如下设置

1. 关闭电脑防火墙

2. 打开注册表(cmd-regedit),在HKEY_CURRENT_USER\Software\Microsoft\Fiddler2下创建一个QWORD,值置为80(十进制)Fiddler手机抓包(iPhone)_第6张图片
3. 编写fiddlerScript rule,点击Rules->Customize Rules,用Ctrl+F查找OnBeforeRequest方法添加如下一行代码

if (oSession.host.toLowerCase() == "webserver:8888") 
{
        oSession.host = "webserver:80";
}

设置完之后重启Fiddler即可。

你可能感兴趣的:(抓包)