抓包工具Fiddler的简单使用
HTTP代理
http代理,就是代理客户机的http访问,主要代理浏览器访问页面
代理服务器是介于浏览器和web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,
Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器
Fiddler
安装
官方网站下载安装:https://www.telerik.com/fiddler
配置HTTPS的证书
Tools --> Options --> HTTPS
全部勾选,弹窗都选择yes
工具栏
1.给session添加一个注释
2.Replay:将目标session再发送一次
3.删除session
4.将断点的session恢复执行
5.Decode:将传输的数据解码成容易阅读的格式
6.Find:查找session
7.Save:将session保存成本地文件
8.Clear Cache:清除缓存
Session窗口
#:Session的序号
Result:请求的响应状态码
Protocol:请求的协议类型
Host:域名
URL:请求的url
Body:响应体的大小
Caching:缓存方式
Content-Type:响应的数据类型
Process:发起请求的进程
Comments:注释
每一个session都有不同的颜色,不同的颜色代表不一样的session类型
红色:表示HTTP状态(错误)
黄色:表示HTTP状态(认证)
灰色:表示数据流类型CONNECT或表示响应类型为图像
紫色:表示响应类型为CSS
藍色:表示响应类型为HTMLe
绿色:表示响应类型为scripte
Inspectors标签页
Transformer:解压方式
Headers:报头
TextView:查看文本数据
Syntax:根据语法格式查看
ImageView:查看图片
WebForms:Web表单
HexView:查看十六进制数据
Cookies:查看设置的Cookies
Json:查看json格式数据
Filters选项
1:是否使用Filters
2:Filters的规则是可以保存和加载的,也就是我们可以把规则保存下来以后再用
3:根据Host域名来进行筛选
4:根据客户端的进程来进行筛选
5:根据请求的Headers来进行筛选
6:断点:Fiddler的断点功能能够让请求在发送后,或者是在返回时暂停,这时候就能够对请求和响应进行相应的修改
7:根据响应的状态码筛选
8:根据响应的类型和大小来进行筛选
9:根据响应的Headers来进行筛选
Find查找
1.文本输入框
2.可以选择搜索的范围,限定在仅Requests或者response中,也可以选择限定在headers或bodies中
3.是否区分大小写
4.是否用正则表达式来搜索
5.仅仅搜索被选中的session
6.将搜索到的结果高亮,可以选择颜色
命令行查找
select命令:搜索相应类型的session,也就是content-type
? 命令:根据URL来进行搜索
= 命令:根据状态码来进行搜索
@ 命令:仅根据域名进行搜索
断点
全局断点
在菜单栏中选择 Rules > Automatic Breakpoints,即可选择断点方式。有两个选择,分别是在请求往服务器发送的时候暂停,和在响应返回到客户端的时候暂停
指定断点
指定断点需要输入指定的命令来进行断点:
bpu:在指定网页发起请求后暂停。如:bpu www.baidu.com
bpafter:在指定网页返回响应时暂停
bpm:中断指定请求方式的请求。如:bpm get
bps:中断指定状态码的session。如:bps 200
app抓包
连接网络
首先确保手机和电脑在同一个网络
安装fiddler,并且进行配置:Tools >> options >> connections >> 勾选 allow remote computers to connect
查看本机ip地址:在cmd窗口中,输入 ipconfig ,查看 以太网 ,可以看到IPv4 地址...............:192.168.0.104,这个就是你的本机IP
手机连接wifi,并且和电脑是在同一个局域网,在手机中,打开浏览器,访问 http://192.168.0.104:8888 ,有些浏览器会显示打不开,更换其他浏览器就可以了
访问网页
访问成功的话,会显示:
点击 FiddlerRoot certificate , 下载 证书
安装证书
部分手机可以直接点击 安装
部分手机需要 设置 >> wifi(或WLAN) >> 高级设置 >> 安装证书 >>选中刚刚下载的 证书文件 FiddlerRoot.cer >> 确定
设置(Settings) >> 更多设置 >> 系统安全 >> 从存储设备安装
为证书命名 , 输入自己喜欢的名字,例如 fiddler ,确定 , 显示 证书安装完成
安装完成后,在 设置(Settings) >> 更多设置 >> 系统安全 >> 信任的凭证 >>系统和用户2个tab页 >> 用户 >> 可以查看到 DO_NOT_RUST_FiddlerRoot
PS: 不安装证书,抓取http的数据是没问题的,但是抓取不了https的数据
手机抓包
手机设置代理(不同的手机不一样)
手机设置 >> wifi(或WLAN) >> 选中连接的网络 >> 代理 >> 手动
主机名(IPv4地址):192.168.0.104 这个是刚刚在 cmd 中查看到的电脑的 IP 端口 :8888 不使用网址: 这个不用理会 修改完成后,确认
打开 fiddler 的抓包,然后在手机端运行要抓包的app,会查看到fiddler中已经可以抓到app的数据了
大部分app都可以直接抓包
少部分app没办法直接获取,需要 wireshark、反编译、脱壳 等方式去查找加密算法
app抓包一般都是抓取到服务器返回的json数据包