目录
官方下载地址:Fiddler | Web Debugging Proxy and Troubleshooting Solutions
web数据抓取
数据抓取问题
抓取不到谷歌浏览器数据
在浏览器高级设置中关闭使用谷歌代理,显示为关闭状态即可
只能抓取http协议的数据,抓取不到https协议的数据
解决方法:勾选下面的选项后确定
工具栏常用设置
1、给session添加一个注释
2、Replay:将目标session再发送一次
3、删除session
4、将断点的session恢复执行
5、将传输的数据解码成容易阅读的格式
6、查找session
7、将session保存成本地文件
8、清除缓存
Session会话窗口
1、Session的序号
2、请求的响应状态码
3、请求的协议类型
4、域名
5、请求的url
6、响应体的大小
7、缓存方式
8、响应的数据类型
9、发起请求的进程
10、注释
Inspectors标签页
请求数据窗口
- Headers:报头
- TextView:查看文本数据
- Syntax:根据语法格式查看
- WebForms:Web表单
- HexView:查看十六进制数据
- Cookies:查看请求的Cookies
- Json:查看json格式数据
响应数据窗口
- Transformer:解压方式
- Headers:报头
- TextView:查看文本数据
- Syntax:根据语法格式查看
- ImageView:查看图片
- WebView:Web表单
- HexView:查看十六进制数据
- Cookies:查看响应设置的Cookies
- Json:查看json格式数据
Filters过滤选择器
- 是否使用Filters。
- Filters的规则是可以保存和加载的,也就是我们可以把规则保存下来以后再用(设置好规则之后,点击此按钮执行)。
- 根据Host域名来进行筛选。
- 根据客户端的进程来进行筛选。
- 根据请求的Headers来进行筛选。
- 断点:Fiddler的断点功能能够让请求在发送后,或者是在返回时暂停,这时候就能够对请求和响应进行相应的修改。
- 根据响应的状态码筛选。
- 根据响应的类型和大小来进行筛选。
- 根据响应的Headers来进行筛选。
断点
断点方式有两种,一种是通过菜单栏设置全局的断点,一种是通过命令行设置指定的断点
全局断点
有两个选择,分别是在请求往服务器发送的时候暂停,和在响应返回到客户端的时候暂停
指定断点
在select命令行输入指定的命令来进行断点:
bpu:在指定网页发起请求后暂停。 如:bpu www.baidu.com 取消断点 bpu+空
bpafter:在指定网页返回响应时暂停。 取消断点 bpafter+空
bpm:中断指定请求方式的请求。如:bpm get 取消断点 bpm+空
bps:中断指定状态码的session。如:bps 200 取消断点 bps+空
查找信息
Find查找
使用快捷键ctrl+f 或在工具栏中选择find来打开查找窗口,查找窗口可从所有session中搜索到想要的session
- 文本输入框。
- 可以选择搜索的范围,限定在仅Requests或者response中,也可以选择限定在headers或bodies中。
- 是否区分大小写。
- 是否用正则表达式来搜索。
- 仅仅搜索被选中的session。
- 将搜索到的结果高亮,可以选择颜色
命令行查找
- select命令:搜索相应类型的session,也就是content-type
- ?命令:根据URL来进行搜索
- =命令:根据状态码来进行搜索
- @ 根据域名来搜索
手机app抓包
设置步骤
1、安装fiddler,并且进行配置:Tools >> options >> connections >> 勾选 allow remote computers to connect
2、查看本机ip地址:ipconfig ,查看以太网IPv4 地址
3、确保手机连接了wifi,并与电脑在同一个局域网,在手机中,打开浏览器,访问:http://ipv4的地址:端口号(fiddler中配置的)
4、访问成功会显示下图,然后点击FiddlerRoot certificate下载证书
5、安装证书(不同的手机不同的方式)
部分手机需要在设置中安装:设置 >> wifi(或WLAN) >> 高级设置 >> 安装证书 >>选中刚刚下载的 证书文件 FiddlerRoot.cer >> 确定 或是 设置 >> 更多设置 >> 系统安全 >> 从存储设备安装
为证书命名 ,自定义命名后确定, 显示证书安装完成
查看证书安装: 安装完成后,在 设置(Settings) >> 更多设置 >> 系统安全 >> 信任的凭证 >> 系统和用户2个tab页 >> 用户 >> 可以查看到 DO_NOT_RUST_FiddlerRoot
不安装证书,抓取http的数据是没问题的,但是抓取不了https的数据
6、手机设置代理(不同的手机不一样)
WLAN >> 选中连接的网络(长按) >> 代理 >> 手动
主机名:自己电脑IPv4
端口 :fiddler设置的端口号
7、打开 fiddler 的抓包,然后在手机端运行要抓包的app,会查看到fiddler中已经可以抓到app的数据
注意:少部分app没办法直接获取,需要 wireshark、反编译、脱壳 等方式去查找加密算法;app抓包一般都是抓取到服务器返回的json数据包
请求过滤
手机上设置代理后,这时候fiddler上抓到的是pc和app所有的请求,如果pc上打开网址,会很多,这时候就需要开启过滤功能了
设置过滤:抓取局域网内android的http包,为减少干扰,设置 from remote clients only
from all processes 抓所有的请求
from browsers only 只抓浏览器的请求
from non-browsers only 只抓非浏览器的请求
from remote clients only 只抓远程客户端请求
抓包实例
抓取手机抖音视屏数据