阅读本文前您需要先下载fiddler并成功安装,并且要有一丢丢测试和接口基础或者在学习fidder时遇到了问题,或许本文可以帮助到你
一、B/S端抓包 Fiddler设置
1、 官网下载fiddler适当版本进行接口抓包
2、 打开如下,如果选择Hide All则为阻止接收接口url展示在窗口
如果选择All Progress则显示浏览器所有捕获到的接口请求
3、 真正的接口测试,需要我们指定对应地址进行请求,过滤掉电脑上那些无用请求,那么fiddler应该如何解决这个问题?
此处我以jenkins的登录为例进行演示,对应项目情况也是一样的,jenkins页面如下:
打开Fideler,输入jenkins访问ip,此处我在本地localhost,具体以实际情况为主
Jenkins登录查看fiddler结果
4、 对抓到的包进行简单分析,如下:
找到登录的包,找到我们需要的header
找到我们需要的登录账号密码就可以开始接口测试了
B/S端浏览器证书配置
原因和背景:b/s端抓取htts,需要授权证书,一般http请求是不需要配置证书授权的
1、 Tools-HTTPS-Actions-导出证书
导出的证书显示在界面如下
2、 浏览器导入此证书(此处firefox)
右上角浏览器-选项-证书-隐私与安全-证书
添加刚刚下载的证书,导入
勾选如下,重启浏览器就可以了
证书无法导出解决
1、 现象:无法导出证书的问题
点击action弹出:the root certificate could not be located
2、解决:点击以下程序,重新执行,再次重复上面的流程export即可
http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2
3、 解决:如果还不行就删除证书,重新执行上面1的步骤和证书导入操作
二、Fiddler抓包APP、微信小程序(安卓、IOS)
2 、fiddler设置
2.2 勾选和端口设置,端口用于手机端
2.3 查看fiddler所在电脑ip
提示:查看方法ipconfig(windows) 或 ifconfig(linux) 找到ipv4,用于手机代理设置的ip
注意:如果ip非固定,需要固定ip ,方法请百度
2.4 Fiddler-tools-HTTPS 勾选如下
勾选from remote clients only 是为了过滤来自于其它http或者https的请求
3、手机端设置
3.1 手机设置-代理设置
设置-无线和网络-WLAN-找到和电脑端一致的网络-修改网络
注意:IP输入电脑ip,端口用fiddler上设置的8888在手机浏览器进行访问 结果如下:
3.2 证书下载
访问ip+端口后会提示你下载证书,如下
3.3 找到此证书进行安装
证书名称任意命名,点击确定就可以了。
此时连接的office20会自动由不可上网变为可上网状态,如果没配置好证书会有一个感叹号显示在网络处,网络会用不了
如何查找已下载的证书呢,安卓手机参考如图:(下载-进入-安装)
4、恢复上网
代理使用完成后需要恢复网络为非代理,否则手机无法上网
5、online查看
允许远程设备使用本机联网online
点击online可以查看到捕获的IP(本机IP)在列表内
6、微信小程序抓包
步骤1:Fiddler证书设置与前面第2点一致
步骤2:苹果手机设置手动代理网络与安卓一致,参考上面的步骤
步骤3:苹果手机safari浏览器访问ip:8888地址,在提示不安全时仍然允许NOT_TRUST_CERT
步骤4:进入手机设置-配置描述文件-安装证书,安装成功即可抓取app,但是还不能抓取小程序或微信
步骤5:抓取小程序:
由于小程序端是https的,在安装证书以后需要开启证书信任才能访问,开启证书信任开关方法如下
① 苹果端开启:设置->通用->关于本机->证书信任设置->开启
② 安卓端开启:暂未找到信任地,无法抓小程序(如果有找到的请留言分享交流)
三、fiddler抓包微信公众号
1、 与小程序配置一样即可抓取,但是要注意必须保证网络在没有设置代理是通的,在设置代理后网络仍然可用,没有感叹号
2、 需要确保电脑端网络与手机网络是同一个无线网网络