在我们做接口测试的时候,经常需要验证发送的消息是否正确,或者在出现问题的时候,查看手机客户端发送给server端的包内容是否正确,就需要用到抓包工具。
今天,给大家带来最常用的Fiddler的傻瓜式教程大全——从安装到抓包
可以去官网下载或者私信我关键词“安装包”直接领取Fiddler安装包
右键FiddlerSetup.exe以管理员身份运行,如果弹出用户控制窗口点【是】
在弹出的如下授权窗口中,点【I Agreee】
在安装目录窗口,选择fiddler安装目录,点【Install】
在安装窗口,等待安装进度条方框全部变绿,即完成安装程序解压缩
然后在安装完毕窗口,点【Close】
启动fiddler4
如下升级窗口,点【No】
如下App容器配置窗口,点【Cancel】
01连接设置
依次单击菜单项“Tools”》“Options...” ,在弹出的Options窗口中,点选项卡“Connections”,如下截图所示,勾选“Allow remote computers to connect”,在弹出的窗口中,点【确定】
依次单击菜单项“Tools”》“Options...” ,在弹出的Options窗口中,点选项卡“HTTPS”;
如下截图所示:
在Options窗口HTTPS选项卡,依次勾选“Decrypt HTTPS traffic”、“Ignore server certificate errors(unsafe)”
在Options窗口HTTPS选项卡,依次点“Actions”》“Export Root Certificate to Desktop”
至此,完成将根证书下载到本地桌面
然后在chrome浏览器地址栏输入: chrome://settings/
然后按照如下截图导入下载的证书
然后重启fiddler、chrome
如果已经安装过fiddler,卸载后重装fiddler,执行如下操作:
清除文件首先清除所有证书文件,大致位置在C盘根目录RSA目录下,将搜索到的RSA目录下的内容都删除干净。例如,C:\Windows\System32\Microsoft\Crypto\RSA
重启然后重启chrome浏览器、fiddler抓包工具。
注意:以上5个步骤是针对已经安装过fiddler证书的情况。
配置完之后就可以抓到我们想要的数据了,接下来就是如何去分析这些数据。
简单分析get与post数据有何不一样,以后也能分辨出哪些是get,哪些是post了。
1.打开fiddler工具,然后浏览器输入博客首页地址
2.点开右侧Inspectors下的Headers区域,查看Request Headers
3.Request Headers区域里面的就是请求头信息,可以看到打开博客园首页的是get请求
1.打开登录首页
2.输入账号和密码登录成功后,查看fiddler抓包的请求头信息,可以看出是post请求
1.打开fiddler后,左边会话框区域刷刷刷的很多请求,那么如何有效的找出自己需要的请求呢?
2.首先第一步:清屏(cls),在左下角命令行输入cls,清空屏幕
(清屏也可以使用快捷键Ctrl+X)
3.第二步在浏览器输入url地址的时候,记住这个地址
在点击登录按钮的时候,不要做多余的操作了,然后查看fiddler会话框,这时候有好几个请求。
4.如上图,红色框框这个地方就是host地址,红色圈圈地方就是url的路径,也就是博客首页的地址了,那这个请求就是博客首页的请求了。
1.关于get和post的功能上区别就不说了,大家自己查资料,这里主要从fiddler抓包的层面查看请求参数上的区别
2.get请求的Raw参数查看,主要分三部分:
本篇简单的介绍下fiddler界面的几块区域,以及各自区域到底是干什么用的,以便于更好的掌握这个工具
1.会话框主要查看请求的一些请求的一些基本信息,如# 、result、protocol、host、url、body、 caching、content-type、process
2、会话框列表最左侧,#号这一栏是代表这个请求大概是什么内容,<>这个符号就是我们一般要测试的请求与响应的类型。
3.result:这里是服务器返回的代码,如
4.protocol:这个是协议类型,如http、https
5.host:主机地址或域名
6.url:请求的路径
7.body:该条请求产生的数据大小
8.caching:缓存相关
9.content-type:连接类型
10.process:客户端类型
1.Request是客户端发出去的数据,Response是服务端返回过来的数据,这两块区域功能差不多
2.headers:请求头,这里包含client、cookies、transport等
3.webfroms:请求参数信息表格展示,更直观。可以直接该区域的参数
4.Auth:授权相关,如果显示如下两行,说明不需要授权,可以不用关注(这个目前很少见了)
5.cookies:查看cookie详情
6.raw:查看一个完整请求的内容,可以直接复制
7.json:查看json数据
8.xml:查看xml文件的信息
1.如果response的TextView区域出现乱码情况,可以直接点下方黄色区域解码
2.也可以选中上方快捷菜单decode,这样后面的请求都会自动解码了
Fiddler最大的优势在于抓包,我们大部分使用的功能也在抓包的功能上,fiddler做接口测试也是非常方便的。
对应没有接口测试文档的时候,可以直接抓完包后,copy请求参数,修改下就可以了。
点开右侧Composer区域,可以看到如下界面,就是测试接口的界面了
1.请求方式:点开可以勾选请求协议是get、post等
2.url地址栏:输入请求的url地址
3.请求头:第三块区域可以输入请求头信息
4.请求body:post请求在此区域输入body信息
5.执行:Execute按钮点击后就可以执行请求了
6.http版本:可以勾选http版本
7.请求历史:执行完成后会在右侧History区域生成历史记录
1.在Composer区域地址栏输入博客首页
2.选择get请求,点Execute执行,请求就可以发送成功啦
3.请求发送成功后,左边会话框会生成一个会话记录,可以查看抓包详情
4.右侧history区域会多一个历史请求记录
5.会话框选中该记录,查看测试结果:
1.有些post的请求参数和返回参数是Json格式的,如博客园的登录请求:https://passport.cnblogs.com/user/signin
2.在登录页面手动输入账号和密码,登录成功。
3.找到这个登录成功的会话,查看json数据如下图:
1.请求类型勾选post
2.url地址栏输入对应的请求地址
3.body区域写登录的json参数,json参数直接copy上一步抓包的数据,如下图红色区域
4.header请求头区域,可以把前面登录成功后的头部抓包的数据copy过来
(注意,有些请求如果请求头为空的话,会请求失败的)
5.执行成功后查看测试结果:
–执行成功如第三所示的图,显示success=True
–执行失败如下图所示,显示
message=Invalid length for a Base-64 char array or string.
success=False
??
2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili
?
?
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!
?