Fiddler是好用的Web调式工具之一
请求列表
列出和暂时经过Fiddler拦截的HTTP/HTTPS请求的信息列表,包括请求信息、结果、协议等内容
图标含义:
Statistics窗口,客服端的请求和服务器的响应
性能指标
Inspectors。
是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容
Fiddler是以代理Web服务器的形式工作的,
它使用代理地址:127.0.0.1,端口:8888.当Fiddler会自动设置代理,退出的时候它会自动注销代理,这样就不会影响别的程序。
启动代理:
点击窗口左下角,显示“Capuring”侧说明当前处于代理状态。
通过浏览器访问相关网页或执行页面操作(如登录、搜索)
通过Fiddler查看代理的HTTP请求进行分析。
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器喝服务器之间的通信加密
一、https协议需要到ca申请证书,一帮免费证书很少,需要交费
二、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是【80】,后者是【443】。
四、http的连接很简单,是无状态的,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
Fiddler如果不设置过滤效果,那么凡是奖过浏览器的请求都会被拦截并记录,给使用和分析造成比较多的不方便。因此一般都会在使用过程中,设置数据过滤效果
开启会话的过滤功能(默认情况下,Use Filters功能为关闭的)
需要的时候,将该过滤功能打开
设置Action
(重点!!!!)Zone
Zone:指定只显示内网(Intranet)或互联网(Internet)的内容;
Show only Intranet Hosts 内网
Show only Internet Hosts 外网
No Host Filter
No Host Filter:无HOST过滤;
Hide the following Hosts: 隐藏下面过滤条件;
Show only the following Hosts: 只显示下面过滤条件
Flag the following Hosts: 加粗新视如下HOST;
注意:输入多个HOST,多个之前用半角逗号或者回车分隔;
支持通配符: *,baidu.com;
(重点!!!)Client Process过滤规则:
Show only traffic from:(浏览器的选择)
可以指定只捕获哪个Windows进程的请求;
Show only Internet Explorer traffic:
只显示IE发出的请求;
Hide Windows RSS platform traffic:
隐藏Windows RSS平台发出的请求
Request Header过滤规则
Show only if URL contains;显示包含某字符过滤
Flag requests with headers:标记带有特定header的请求
Delete request headers: 删除请求header
Set request header: 设置请求的header
(重点!!!)Breakpoints断点 设置规则
Break request on HTTP POST: 给所有POST请求设置断点
Break request on HTTP GET with QueryString: 给所有带参数的GET请求设置断点
Break response on Content—Type: 给特定的Content—Type设定断点
(重点!!!)Response Status Code过滤规则:
Hide success(202,204,206): 隐藏响应成功的session(202,204,206)
Hide Authentication demands(401): 隐藏未经授权被拒绝的session(401)
Hide redirects(300,301,302,303,307): 隐藏重定向
Hide Not Modified(304): 隐藏无变更的session(304);
Response Type and Size相应类型和大小过滤规则:
Show all Content-Type: 显示所有响应类型
Hide smaller tham? KB: 隐藏小于指定大小的session;
Hide larger than? KB: 隐藏大于指定大小的session;
Time HeatMap: 获得即时数据;
Block script files: 阻止脚本文件,显示为404;
Block image files: 阻止图片文件;
Block SWF files: 阻止图片文件
Block CSS files: 阻止CSS文件
Response Headers过滤规则:
Flag response that set cookies: 标记会设置cookie的响应
Flag response with headers: 标记带有特定header的响应
Delete response headers: 删除响应header
Set response header: 设置响应的header;
通过陈列出所有的HTTP通信量,Fiddler可以很容易的向您展示哪些文件生成了您当前请求的页面。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总信息统计,比如多个请求和传输的字节数
常见的命令有
help打开官方的使用页面介绍,所有的命令都会列出来
cls清屏(Ctrl+x也可以清屏)
select选择会话的命令
?.png用来选择png后缀的图片
bpu截获request
Fiddler最强大的功能莫过于设置断点了,可以批修改httpRequset的任何信息包括host,cookie或者表单中的数据
设置断点有两种方法
第一种:打开Fiddler点击Rules—》Automatic Breakpoint—》Before Requests(这种方法会中断所有的会话) 【就是在请求前断点,然后可以在WebFrom提交想要提交的数据,点击GO】
第二种:在命令中输入命令:bpu www.baidu.com(这种方法只会中断www.baidu.com)
在测试过程中,我们经常需要通过host在不同环境之间切换,如果知道自己的环境是否切换成功,那么通过IP地址就很容易判断
打开Fiddler,菜单栏: Rules-》Customize Rules…(自定义规则)
自定义规则
通过快捷键Ctrl+F,搜索:static function Main()函数。在函数中添加一行代码,如下:
选中两个会话,右键然后点击Compare,就可以用WinDiff来比较两个会话不同了(当然需要你安装WinDiff)
不知道接口不知道参数的时候用Fiddler来抓包,组合jmeter和postman来使用
请求的什么东西,地址参数,过程中发送的什么东西
通过抓过的包,解析的接口参数,再用jmeter和postman来向服务器请求
对脚本的参数化,断言都可以放进去
HTTPS
会话过滤功能