大家好,又见面了,我是你们的朋友全栈君。
程序及其使用
先去官网下载安装Fiddler
点击Fiddler前往官网
输入原因、邮件、城市即可下载。
1为工具栏;2为数据报文展示面板;3为命令行;4为功能页签
当然如果觉得英文看起来累的可以导入中文补丁,下载链接如下
链接:https://pan.baidu.com/s/10-YBzdH3QdLtVHWxV73_9A
提取码:yyh6
补丁拷贝过去后,重新打开Fiddler即可,结果如下
一切准备就绪后,开始进行手机连接
第一步:Fiddler抓取手机App的HTTP协议请求数据
-
让手机和Fiddler主机为同一网络
手机连接的无线和电脑连接的无线或者有线是来自同一宽带 -
电脑上的一系列配置:Fiddler开启远程设备连接+证书导出+代理配置
第一步:点击工具->选项(Tools->Options)
点击HTTPS,勾选Ignore server certificate errors(unsafe)后,右上角Actions变成可点击的状态,点击下拉栏的Export Root Certificate to Desktop,导出证书到桌面
导出的证书导入到之后需要调试的浏览器中,例如Chrome
打开工具->WinINET选项(即Internet属性)——>连接——>局域网设置——>代理服务器勾选
-
手机上的一系列配置
以华为Mate30为例,WIFI网络对应的无线连接名称长按–>修改网络–>高级选项–>代理手动–填写代理IP地址和端口–保存
代理服务器主机名为电脑的IPV4地址,端口号为Fiddler配置的代理端口号(默认8888);
IPV4地址可以通过cmd输入ipconfig命令查到
配置完成后,打开浏览器,输入刚才设置的IP:端口号,例:192.168.0.104:8888。点击所框文字下载证书并打开,手机将自动弹出证书安装器,自定义证书名称,选择WLAN,点击确定即可
这一步的时候我的手机显示WIFI网络不可用,解决问题如下:
然后,打开电脑的防火墙和网络保护
确认fiddler被允许
高级设置进行新建规则
选择端口,下一步,选择TCP并在特定本地端口输入Fiddler设置的代理端口号,之后一直下一步直到结束
4.验证
先清空所有数据报文(会话),手机输入www.baidu.com,并搜索拿破仑矮脚猫
温馨提醒:调试完记得把手机WIF的代理配置关掉,不然打开APP和网站会各种数据加载失败。
至于不可用问题的话,我在知乎看到一段
引用链接如下:https://www.zhihu.com/question/374955282/answer/1057618948
“部分app不能用”
fiddler是使用代理原理进行抓包的,所以要抓包那应用里的连接就必须使用代理,我们通常在手机wifi里设置好系统代理,然后APP检测到系统代理更新后,自己也会同步更新使用系统代理发送http请求。不过现在有很多APP的应用框架自己的网络库不再默认使用系统代理,所以这些APP使用之前的改系统代理的方式fiddler是没有办法获取请求的
金融类关键请求抓包导致请求失败”
这与fiddler解析https的原理有关,如果不解析TLS就不会有问题了因为fiddler解析TLS是使用“中间人攻击”的手段,本质上是一种攻击行为,因为我们会在手机或电脑上信任fiddler根证书,所以这种攻击通常都非常有效也会被视为合法的。当然因为这个技术是攻击行为,部分高敏感服务会通过一些手段让自己的服务链路只验证通过自己的证书 (fiddler要解析TLS会替换证书)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139106.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...