fiddler使用详细教程

fiddler了解
一、电脑pc安装下载fiddler配置:
1、原理:fiddle是一个http协议的代理
2、使用:(1) 安装 fiddler.exe
(2) pc端(或者移动端),设置开启代理127.0.0.1:8888(其实打开fiddler会自动开启)
(3) fiddler设置抓https:options–https–勾选前三个(表示忽略服务证书)
(3) fiddler 设置抓取请求类型:filters—选择 show only the following host
(4) 工具栏点击 ?inspectors,开始检查请求和响应

二、 fiddler抓取pc浏览器请求
1、一般打开fiddler,按照上面设置就能抓取pc浏览器的包,如果遇到抓不到的情况,则可以新增设置一下证书
2、开启fiddler能抓取https请求:
2.1 、fiddler下载导出证书:Tool->Options- >HTTPS,勾选
点击“Actions”,选择 Trust Root Certificate,点击“yes”。
再点击“Actions”,选择 Export Root Certificate to Desktop,点击“yes”,导 出证书到桌面后,重启 Fiddler
2.2、浏览器导入证书:打开浏览器,点击“证书管理器”,将 Fiddler 证书导入受信任的证书,点击 “关闭”
2.3 、重启fiddler

三、 fiddler抓取安卓手机请求:
1、手机和pc连接同一网络
(可无:adb连接手机:在cmd输入 adb shell device可检查)
2、确保 fiddler软件 开启https抓包—开启后点击右上角actions,一路点击确定即可
3、重启fiddler
4、手机进入wifi,连接同一网络,高级设置如:wifi名-shuwei,代理-手动,主机名-pc端的ipv4,端口-pc端fiddler端口,默认8888,不使用的网址-默认不填,IP设置-默认DHCP
5、配置到这里时,fiddler已经可以抓取手机端app的http包了,但是为了能够抓取https包,需要在手机安装证书
6、安装证书:手机端进入浏览器,访问pc端口,即输入:pc端的ipv4:post,如 10.1.2.43:8888,点击下载证书链接
7、安装https证书:可以直接点击刚下载的.cer文件进行安装,也可以去手机-设置-安全-证书-选择本地证书安装-随便取个名字即可(如oppo手机:手机-设置-安全-凭据存储-从存储设备安装证书-CA证书-让仍要安装–选中刚下载的cer证书进行安装和命名)
8、重启fiddler即可抓取https包
————————————————

四、问题解决记录
1、fiddler可以抓取本地包,手机连接fiddler联网失败(导致抓不到包)
解决思路:
(1)关闭shuwei.com链接,手机连接数位则无法使用sscm
(2)启用以太网,连接无线网,连接无线网ip4,手机无法使用sscm
(3)启用以太网,连接无线网,连接以太网ip4,手机无法使用sscm
(4) 先确认手机关闭代理,可上网,定位成是代理配置的问题
其次,将手机代理切换成和同事一致(只用以太网)
再有,将fidller的端口更改:8887,手机更改8887(已解决 √)

2、fiddler可以抓取本地包,手机连接fiddler,抓取不到https包,会提示联网失败(导致抓包显示connect:443)
(1) 关闭防火墙,未解决
(2)修改 fidderscript 代码,未解决
(3) 新增注册码80,未解决
(4) 修改 rules-customs代码,未解决
(5) 百度查看抓到的包都是443,手机有些地方能访问网络,有些地方不可以,则定位问题出在https抓包问题上
(6) 则重新进行app的证书下载安装,找到问题(证书安装类型错误,我之前安装的WLAN证书,现在删除安装的证书,重新安装成CA证书,问题解决!!!)
在这里插入图片描述
3、使用同事的fiddler安装包安装,间断弹窗 代理被更改
(1)原因,旧版fiddler未卸载干净,未解决
(2)重装自己的fiddler,各种连接方式无法抓包,最后处理fiddler的小窗口弹窗后,电脑不连接wifi,手机连接wifi,手机连接以太网的ip,可以抓包(已解决√)

4、fiddler 可以抓取手机的包,无法抓取ide如pycharm的包
(1)对pycharm单独设置代理
(2) 在代码里,找到发请求的代码,给发的请求新增参数即可(已解决√)
(3)如果有多个请求,记得全部加上

fiddler_proxies = {'http': 'http://127.0.0.1:8887', 'https': 'http://127.0.0.1:8887'}
response = requests.post('', headers=headers, cookies=cookies, data=data, proxies=fiddler_proxies,verify=False)

版权声明:本文为yyj18085644原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。