Fiddler能干什么(简单罗列)
抓一下百度,发现没有抓到(HTTPS),下图这些都是建立通道的连接
抓其他的,成功了
菜单栏
1:修改端口
2:不想做系统代理,取消勾选
3:设置规则
工具条
去http://test.lemonban.com/ningmengban/app/login/login.html抓一个提交登陆的请求,输入不存在的账号
1:备注
作用:可以备注一下错误信息,选中一个,作为文件导出给开发去看
也可以导出成一个附件
2:重放
选中这个请求,点击Replay,会再次请求一次
也可以选中这个请求,点击R,然后就能请求
如果要对这个请求设置次数,可以shift+R,输入次数,点确定就行了
这种也叫重放攻击,可以对服务器做压力测试(注意:这种是串行的,而像jmeter那种是并发的)
3:删除请求
删除选中的请求:选中-delete
删除其他的请求:选中,shift+delete
4:清除
清除全部,清除图片,清除中间连接,清除非200,清除非浏览器(前五个)
5:请求执行
重放之前设置一个断点,选择请求,点击下方
点R运行,会发现请求在发送到服务器之前已经停止了
点击go,请求继续,可以看到有信息了
6:流模式
7:解码
有一些内容从服务器发回来是会做编码做压缩的,所以想看到可以用这个,不过这个是对所有请求直接做解码
单点这个只是对该请求解码
8:选择想要监听的程序
9:查找
10:清除缓存
11:编码解码工具
可以拿来做接口测试
12:本机的信息
监控面板
1:加一列,IP
参考:https://www.cnblogs.com/kefanwu/p/9522864.html
保存重启,就看到了(上面的列是可以拖动的)
对列也有相应的操作(最后一个是自定义列)
2:顺序
点击相应的列就行
命令行+状态栏
1:快速执行命令
可以输入help去学习一下
2:设置和取消代理
有这个就是已经设置,点击可以取消
3:断点(都是在Fidder那里)
响应前断点(还没发给服务器)
响应后断点(服务器返回未到客户端)
辅助标签+工具
1:查看性能信息
请求数
Request Count: 1
发送字节数
Bytes Sent: 505 (headers:505; body:0)
接收字节数
Bytes Received: 5,692 (headers:261; body:5,431)
ACTUAL PERFORMANCE
--------------
客户端连接
ClientConnected: 23:51:33.069
ClientBeginRequest: 23:51:33.099
GotRequestHeaders: 23:51:33.099
ClientDoneRequest: 23:51:33.099
Determine Gateway: 0ms
DNS解析时间
DNS Lookup: 4ms
TCP/IP握手时间
TCP/IP Connect: 40ms
HTTPS Handshake: 0ms
ServerConnected: 23:51:33.144
FiddlerBeginRequest: 23:51:33.144
ServerGotRequest: 23:51:33.144
ServerBeginResponse: 23:51:33.196
GotResponseHeaders: 23:51:33.196
ServerDoneResponse: 23:51:33.196
ClientBeginResponse: 23:51:33.196
ClientDoneResponse: 23:51:33.196
2:检查器
3:自动响应器
例子:生产环境出现了问题,一般在生产环境去做调试是不合理的,可以使用自动响应器将这个请求拦截下来,然后重定向到本地或者指定的响应地方。
比如更换图片(复制一下图片地址)
这里报404是因为Fiddler拦截了这个请求之前使用了内置的404给它返回,在页面可以看到图片消失了
也可以给它返回一个本地的图片
可以看到返回了本地的图片
思考:如果在公共场合连接不知名的wifi,如果它设置了代理,它可以截获你的请求,然后串改,返回他给你的信息(钓鱼)
例子:
现在是正常的一个网站,里面有很多js文件
双击复制到本地的一个txt文件里面,改为js格式
通过拖动的方式
重定向到本地的js
当点击是,就跳转到骗子的页面去了(这里乱码不管)
当然也可以做mock(模拟),如果开发有个接口没开发好,我要做测试,我就可以模拟这个请求
比如登录接口没做好
先去抓一下登录的请求
可以看到默认的响应是这个
将请求还是拖进规则里面,去编辑响应
当然如果是没开发好,这里的信息都是自己编辑的
再去抓一下,响应内容变了
当然也可以编辑响应去看界面的展示情况,可以做到功能测试没法做到的极端测试
比如某一个响应,我想它返回的数据是没有数据,比如app的列表,我想看没有数据时的展示情况,功能测试的话就要删掉全部数据,这样就不是很好,而Fiddler可以在不删数据情况下去做到极端测试
比如进入登录页面,显示是一个图片
页面就只显示一个图片了
4:设计器(设计请求用的)
这是由Fiddler发出的请求,是一个简单的发包工具(发HTTP数据包)
怎么做接口测试?比如登录的请求,拖动
我修改用户名,然后发起请求
然后发现居然可以请求
这是一个bug,因为如果用这个账号密码去页面登录,是请求不了的,提示用户名错误,所以接口测试能发现黑盒测试发现不了的bug
这里就是绕过了前端,去请求了一下数据库,后端的校验不合理,本来是错误的手机号,就不应该去查数据库
也可以选多个请求,点击3次可以选中然后去执行
5:过滤器
帮助我们过滤请求用的
1:主机的过滤
默认不选、局域网、广域网
默认不选、隐藏以下主机、只展示以下主机、标记以下主机
2:客户端进程的过滤
只抓取哪个进程的包、只展示IE
3:请求头的过滤
只展示URL包含(如baidu)的请求、隐藏..、标记..、删除..、设置...
4:断点
post请求采取断点、get请求、ajax请求、内容类型是什么内容
1)全局断点
请求前断点、响应后断点
相应前断点,可以修改内容去做一个数据的篡改,点击go运行
相应后断点也一样,我可以改成其他的
可以做极端测试,把返回的数据删掉就行了,看没有数据下有没有提示(空状态)
也可以做断网测试,断点到那个超时的时间,就可以看断网下的情况
2)局部断点
请求前断点命令:bpu 内容
取消请求前断点:bpu
相应后断点:bpafter 内容
取消相应后断点:bpafter