fiddler抓包工具使用
一、fiddler工具优势
- 仅试用于windows系统,且在windows系统更强大
- 是开源的!
二、fiddler工具作用
我们通常做接口测试时,会有接口文档,那么当我们不知道接口时、想看接口数据时、想查看接口安全性时,这些时刻我们就需要通过工具来操作了,此时fiddler就可以发挥作用了。
三、Fiddler安装包及安装
双击后即可傻瓜式安装。
安装完成后,生成桌面快捷方式,点击可以运行
四、Fiddler抓包解析
1.左侧面板
Fiddler左侧面板
抓包工具面板功能
# :HTTP Request的顺序,从1开始,按照页面加载请求的顺序递增。
Result : HTTP响应的状态
Protocol:请求使用的协议(如HTTP/HTTPS)
HOST:请求地址的域名/ip
URL:请求的服务器路径和文件名,也包含GET参数
BODY:请求的大小,以byte为单位
Content-Type:请求响应的类型
Caching:请求的缓存过期时间或缓存控制header的值
Process:发出此请求的Windows进程及进程ID
Comments :用户通过脚本或者菜单给此session增加的备注
custom:用户可以通过脚本设置的自定义值
2.右侧面板
Fiddler右侧面板
Statistics统计页签
通过该页签, 用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。选择第一个请求和最后一个请求, 可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多, 从而对页面的访问进行访问速度优化
inspectors检查页签
它提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息,它分为上下两部分:上部分为HTTP Request(请求)展示,下部分为HTTPResponse(响应)展示
AutoResponse自动响应页签
Fiddler最实用的功能, 它可以抓取在线页面保存到本地进行调试, 大大减少了在线调试的困难, 可以让我们修改服务器端返回的数据
composer构建页签
支持手动构建和发送HTTP, HTTPS和FTP请求, 我们还可以从web session列表中拖曳session, 把它放到composer选项卡中, 当我们点击Execute按钮, 把请求发送到服务器端。
log日志页签: 打印日志
Filters过滤页签
过滤器可以对左侧的数据流列表进行过滤, 我们可以标记、 修改或隐藏某些特征的数据流。
五、Fiddler手机抓包流程
①启动Fiddler, 打开菜单栏中的 Tools > Options, 打开“Options” 对话框,如下图所示
②在“Options”对话框切换到“Connections” 选项卡, 然后勾选“Allowromote computers to connect” 后面的复选框,这里还可以设置端口号, 然后点击“OK” 按钮,如下图所示
③在本机命令行输入: ipconfig, 找到本机的ip地址。
④打开苹果手机设备的“设置” →“WLAN”,找到你要连接的网络,点击感叹号
⑤在“代理” 后面的输入框选择“手动”,设置代理为本地ip和设置的端口号,具体取值的方法参考②③,然后点击加入此网络
⑥安装并信任证书。
说明:如果抓取的是http请求不需要安装证书,抓取https需要安装并信任证书。
以苹果手机为例介绍安装并信任证书,安卓手机操作方法一致。
1、先获取fiddler的机器ip,例如10.10.16.81
2、苹果手机访问Safari, 访问 http://10.10.16.817:8888, 点"FiddlerRoot certificate" 然后安装证书
3、安装后需要去设置信任证书。
选择手机设置--通用–关于本机,下滑至底部选择【证书信任设置】,开启信任证书。
⑥启动测试机并访问需要测试的软件,例如百卓app,在fiddler中可以看到完成的请求和响应数据
六、常见问题
1、使用工具抓不到包
- 大概率未安装http证书,可以参考上文安装并信任证书
- 代理配置错误,检查IP和端口是否一致
2、证书过期(提示creation of the root certificate was not successful)
进入fiddler目录下,执行:
makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by Web Debugging Proxy and Troubleshooting Tools|Fiddler" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 01/01/2099