Fiddler抓取PC端浏览器请求1、Fiddler代理浏览器设置
注意浏览器代理区别 Chrome/IE浏览器使用的都是系统代理设置
在chrome浏览器的设置中搜索代理 , 可以看到
文章插图
打开IE浏览器 , 选择设置->Internet选项
文章插图
Firefox浏览器使用的是单独的一套代理系统
在Firefox的代理设置中 , 我们也可以选择使用系统代理
文章插图
2、打开Fiddler
Fiddler打开之后默认是可以抓取到Chrome/IE浏览器的请求的 。
这是因为Fiddler默认会勾选“Act as system proxy on startup” , 此选项会在Fiddler启动的时候作为系统代理:
文章插图
我们会发现系统代理设置已经被Fiddler篡改 , 端口和Fiddler中保持一致:
文章插图
这也就是为什么Fiddler启动之后默认可以抓取到Chrome/IE的请求 , 如果Firefox也想默认抓取到 , 按照之前的设置 , 选择使用系统代理即可 。
此时我们只能抓取到http的请求 , 如果我们需要抓取https请求 , 还需要做如下配置 。
3、勾选解密https流量选项
选择Tools->Options->HTTPS , 勾选"Decrypt HTTPS traffic"和“Ignore server certificate errors (unsafe)”选项:
文章插图
4、安装证书到系统根证书中
点击右上角Actions , 选择Trust Root Certificate选项 , 跳出来的对话框全部选择是或者yes即可
文章插图
最后会出现如下提示 , 表示证书已经成功安装到了系统根证书区域
文章插图
我们可以打开cmd , 输入cert.msc , 打开证书管理器 , 即可看到安装的Fiddler伪装证书
文章插图
重启浏览器 , 重启Fiddler , 特别重要!!!
打开Chrome/IE , 可以愉快的抓取https请求了
文章插图
Fiddler可以通过安装证书解决https请求的抓取问题 , 此时在浏览器面前Fiddler伪装成一个https服务器 , 用户可以将Fiddler的伪装证书导入到系统的根证书中 。
而浏览器是默认信任系统的根证书的 , 此时Fiddler作为中间人在真正的服务器面前伪装成浏览器的角色 。
Firefox额外设置Firefox浏览器和Chrome/IE证书管理有区别 , Chrome/IE使用的是系统根证书 , 而Firefox有自己的一套证书管理系统
所以针对Firefox , 我们还需要做另外的配置:
1、导出Fiddler证书到桌面
选择Tools->Options->HTTPS , 点击右上角Actions , 选择Export Root Certificate to Desktop,此时在桌面可以找到导出来的证书
文章插图
2、安装证书到Firefox的内置根证书中
进入到Firefox的设置->搜索证书选->打开证书管理器 , 选择桌面的证书文件导入进来 , 勾选如下三个选项
文章插图
重启浏览器 , 重启Fiddler , 特别重要!!!
打开Firefox , 抓取Https请求也没问题了 。
Fiddler抓取App端请求准备工作:
- 将手机和电脑连接到同一路由器(保证两者能够ping通)
- 如果使用的模拟器则不需要上面的步骤 , 因为模拟器是共享PC端的网络 , 两者网络默认就是连通的状态
- 查询PC端的IP地址
打开Tools->Options->Connections , 勾选Allow remote computers to connect选项
为了防止PC端的浏览器的请求和App端的请求信息混乱 , 可以把Fiddler的监听端改下 , 比如改成:7777(当然 , 不改也是可以的) 。
推荐阅读
- 利用BurpSuite观察百度首页HTTPS的数据包信息
- 对称还是非对称——https中到底使用了啥?
- Nginx泛域名http默认跳转https
- Python 抓取沪深A股重大公告,实现手机24小时实时监控!
- 淘宝店铺数据抓取 如何正确获取淘宝商家注册信息
- curl协议不支持https该如何解决?
- 为什么用抓包工具看HTTPS包是明文的?
- 怎么爬淘宝的数据 怎么用爬虫抓取淘宝数据
- 位运算与经典八皇后问题
- 利用Fiddler来Mock接口返回值