Fiddler(windows系统常用的抓包软件)
常用来抓包,更改数据包内容进行测试
使用前配置(仅第一次使用)
Pc端抓包浏览器,在未配置证书前,常常不能访问网站,显示证书不被信任
解决途径(以chrome为例):
- fiddler->tools->options->https->actions-> export root certificate to desktop此时桌面上会出现个fiddlerroot.cer的证书文件
- 打开chrome浏览器,设置,下拉,点击高级
管理证书,导入,选择桌面上的fiddlerroot.cer文件,然后一直下一步就可以了
移动端抓包配置: - 保证手机和电脑在同一个wifi下(也可以用模拟器,推荐mumu模拟器)
- 查看电脑ip(可以在cmd中输入ipconfig),也可以将鼠标悬停在fiddler(全屏化)右上角的online按钮查看ip
- 查看手机连的wifi详情(模拟器为鼠标在wifi上长按左键),设置代理,手动,主机名为ip地址,端口号为8888(可在fiddler->tools->options->connections修改,两者一致即可)
- 安装证书(仅第一次配置时需要),手机浏览器访问“ip地址 : 端口号”,点击下方的fiddlerroot certificate下载证书,并在手机添加信任,一般来讲手机不会自动识别证书,要在手机另外设置,设置->系统安全->加密与凭据->从存储设备安装(手机型号不同,可能具体位置不同),另外安卓版本太高以后可能会导致部分app无法抓包(抓包时该app无法联网),比如我的小米8se无法对哔哩哔哩进行抓包,其他的应用则可以抓包,具体解决方法还未找到
现在已经完成了fiddler的准备工作,接下来就是正式开始抓包
当配置好各种工具以后,访问某个页面时,fiddler上会出现一长串会话,点击某一个会话会显示具体内容(常用来抓包的是json文件)
有时候会出现乱码,但通常在出现乱码时,fiddler右侧中间会出现黄条,点击后,变成正常代码
红框内为可选的视图(我个人常用的是TextView和JSON,TextView有比较便捷的查找功能,虽然row是最全的,但fiddler经常会崩溃)
接下来介绍fiddler常用的功能 - 查找和筛选
1.1. CTRL+F,模糊查找要寻找的会话
1.2.勾选Filters中的Use Filters,常用的是第二个下拉框,隐藏/只看/标记下列主机的域名
- Autoresponder(当浏览器或app向服务器发送请求时,fiddler自动response指定的内容)点击首先勾选enable rules 和unmatched requests passthrough(未匹配到的请求正常响应),点击add rules或者拖动会话进autoresponder。
下方的两个下拉框分别是“选择匹配方式”和“response的内容”:
选择匹配方式:如果是EXACT:开头就为完全匹配,没有前缀则为普通匹配(匹配url的前一段相同的),也可以用正则表达式匹配
response的内容:选择response的内容(常常是将本来的response保存并修改),保存原来response的方式,右键指定的会话,save,…and open as local file.即可
- 断点,断点通常用bpu url或者bpafter url(普通匹配),bpu是response前阻断,bpafter是response后阻断(个人常用bpu url),释放则在输入框输入bpu或者bpafter即可(输入框在fiddler左下角)。阻断完成后再访问对应的接口时,会出现下图
将其他文件作为response,然后点击绿色按钮,效果如下
关于断点,还有一个坑,有些时候我们更改了接口的内容,返回时发现发送错误,在response时,被截断的会话图标由 变成 ,究其原因是因为有时候数据包是压缩过的,我们发送回去时也要以同种格式,更改的地点Transfromer处,保证数据包在发送时的格式与我们截取时相同
这样就能跳过这个格式坑。暂时就想到这么多了。
如有什么遗漏或者错误之处,欢迎大家及时指出