charles抓取https请求_Fiddler 抓取 HTTPS 请求大全

59e054d78d7ef08c32dfb9f8a4260781.png

Fiddler抓取PC端浏览器请求

第一步 Fiddler代理浏览器设置

注意浏览器代理区别 Chrome/IE浏览器使用的都是系统代理设置

在chrome浏览器的设置中搜索代理,可以看到

2cbc2d45ddff26acdc7729da257c1656.png

打开IE浏览器,选择设置->Internet选项

0e9570241436b34e926e86d58832a1b7.webp

Firefox浏览器使用的是单独的一套代理系统


在Firefox的代理设置中,我们也可以选择使用系统代理

32809924a8e34f7d9deb84110ba5d45c.png
第二步 打开Fiddler

Fiddler打开之后默认是可以抓取到Chrome/IE浏览器的请求的。


这是因为Fiddler默认会勾选“Act as system proxy on startup”,此选项会在Fiddler启动的时候作为系统代理:

172a02fbcb2a9cffd12b0588450bb3b2.png

我们会发现系统代理设置已经被Fiddler篡改,端口和Fiddler中保持一致:

7d7d6891ad49e29830ed2f8c0599cdaa.png

这也就是为什么Fiddler启动之后默认可以抓取到Chrome/IE的请求,如果Firefox也想默认抓取到,按照之前的设置,选择使用系统代理即可。

此时我们只能抓取到http的请求,如果我们需要抓取https请求,还需要做如下配置。

第三步 勾选解密https流量选项

选择Tools->Options->HTTPS,勾选"Decrypt HTTPS traffic"和“Ignore server certificate errors (unsafe)”选项:

6e835a67adda308bea08d989068630b5.png
第四步 安装证书到系统根证书中

点击右上角Actions,选择Trust Root Certificate选项,跳出来的对话框全部选择是或者yes即可

2bc4acefc4ae412f4d6dd983fb33587f.png

最后会出现如下提示,表示证书已经成功安装到了系统根证书区域

09c16a6f408439a82a3c88646ce6e6fe.png

我们可以打开cmd,输入cert.msc,打开证书管理器,即可看到安装的Fiddler伪装证书

13c84e17c309063b36b0b6355535c21a.png

重启浏览器,重启Fiddler,特别重要!!!

打开Chrome/IE,可以愉快的抓取https请求了

c43e291acd71fa76ac3d94410210810e.png

Fiddler可以通过安装证书解决https请求的抓取问题,此时在浏览器面前Fiddler伪装成一个https服务器,用户可以将Fiddler的伪装证书导入到系统的根证书中。

而浏览器是默认信任系统的根证书的,此时Fiddler作为中间人在真正的服务器面前伪装成浏览器的角色。


Firefox的额外设置:

Firefox浏览器和Chrome/IE证书管理有区别,Chrome/IE使用的是系统根证书,而Firefox有自己的一套证书管理系统

所以针对Firefox,我们还需要做另外的配置:

01 导出Fiddler证书到桌面

选择Tools->Options->HTTPS,点击右上角Actions,选择Export Root Certificate to Desktop,此时在桌面可以找到导出来的证书

8e08e37e89edda46fd8fb37646a08bc9.png
02 安装证书到Firefox的内置根证书中

进入到Firefox的设置->搜索证书选->打开证书管理器,选择桌面的证书文件导入进来,勾选如下三个选项

939774072f70cc340ea0bd086155b15b.png

重启浏览器,重启Fiddler,特别重要!!!

打开Firefox,抓取Https请求也没问题了。


Fiddler抓取App端请求
准备工作:

将手机和电脑连接到同一路由器(保证两者能够ping通)

如果使用的模拟器则不需要上面的步骤,因为模拟器是共享PC端的网络,两者网络默认就是连通的状态

查询PC端的IP地址

01 配置fiddler可以抓取远程端设备请求

打开Tools->Options->Connections,勾选Allow remote computers to connect选项

为了防止PC端的浏览器的请求和App端的请求信息混乱,可以把Fiddler的监听端改下,比如改成:7777(当然,不改也是可以的)。

d443d486096bb3e25b9f1a285bf27697.png
02 手机端配置代理

进入到手机/模拟器设置,选择WLAN->连接上的WiFi热点名->手指长按,选择修改网络->勾选高级选项,代理选择手动(注意:不同手机的界面和进入的路径存在一些差异)

代理服务器主机名:PC端查询的IP地址

a4a4853b3d885ac45d70398ef77d5d3f.png

代理服务器端口号:Fiddler中配置的监听端口

此时我们只能抓取到http的请求,如果我们需要抓取https请求,还需要做如下配置。

03 手机端安装Fiddler伪装证书

在手机端浏览器中输入

http://192.168.1.222:7777 其中192.168.1.222为PC端的IP地址

点击最下方链接即可下载Fiddler证书

870234097cbb3bbe8358465114384078.png

下载完打开,会提示为证书命名(随便给一个名字即可)

681acab3e7df85fbe6323ba7c63f3312.webp

如果是第一次安装证书,系统会提示设置PIN码(为了安全),按照提示一步一步操作即可

c05bd230c89c30a916482d89d77552db.png

最后安装结束,我们可以在设置->安全->信任的凭据->用户 中找到我们安装的证书(注意:不同手机的界面和进入的路径存在一些差异)

506e46657229d735831ec8e49a96b470.png

打开App(注意:如果之前有启动,需要从后台清理掉再重新启动),以"贝壳找房"为例,https请求抓取成功

2c8085944e501eee3b4e3d360b6e470d.png

会遇到的问题:

证书导出失败,出现如下提示:The root certificate could not be located

4c89b14874ee8c5c2ea5f5cb3e64b211.png

解决方案:

在开始->运行输入:certmgr.msc打开证书管理

点击操作->查找证书

43824abb6a1ff0d6d18b6745dcdc519b.png

输入fiddler,进行查找,将查找出来的所有证书进行删除:

687fd046f6353badd3749d3afcf80385.png

再重启Fiddler,重新导出证书

会遇到的问题:

证书导出失败,出现如下提示:Unable to configure Windows to Trust the Fiddler Root....

e871f39c49af942cf390259353b37108.png

解决方案:

找到fiddler->工具栏tools->options,再选择HTTPS,点击CertEnroll engine,选择MakeCert即可点击OK保存,最后切记重启fiddler!!!

614f774c9c61e2fd1a3748dc6f33a24b.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值