草帽路飞UU 发表于 2022-9-6 16:35:43

教你学会Fiddler接口测试的核心知识点!

一、Fiddler1.工具栏中各个按钮的含义

!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps1.jpg)!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps2.jpg):配置windows中特定应用的抓包(默认抓取不到)!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps3.jpg):添加备注信息!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps4.jpg):重新发起指定请求!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps5.jpg):清空指定会话内容!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps6.jpg):断点放行!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps7.jpg):模式切换!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps8.jpg):相应数据解码!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps9.jpg):显示会话数!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps10.jpg)!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps11.jpg):抓取指定进程发出的请求!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps12.jpg):关键字查找!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps13.jpg):保存当前的会话数据!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps14.jpg):截图+计时!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps15.jpg):打开浏览器!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps16.jpg):清空缓存!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps17.jpg):加密/解密!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps18.jpg):浮窗显示详细内容

2.任务面板功能详解

!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps19.jpg)!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps20.jpg):fiddler脚本!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps21.jpg):日志!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps22.jpg):过滤规则配置Use filters:启用过滤规则Hosts:show only the following hosts 只展示指定的hostsHide the following hosts:隐藏指定的hostsFlag the following hosts:标记指定的hostsClients processRequest headersResponse headersBreakpointsResponse status codeResponse content-type!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps23.jpg):时间线!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps24.jpg):会话数据统计!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps25.jpg):请求+响应详情!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps26.jpg)!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps27.jpg)!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps28.jpg):模拟服务端响应添加响应规则,抓取到的请求如果满足已启用规则,则会被fiddler拦截,并返回规则中设置的相应内容(请求不会被发送服务器)可以手动输入规则内容,也可以直接从会话列表中拖拽到autoresponder中Regex:使用正则表达式进行匹配Exact:精确匹配Method:匹配请求方法Header:匹配请求头!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps29.jpg):模拟客户端请求可以手动输入规则内容,也可以直接从会话列表中拖拽到composer中添加规则后,点击execute按钮即可发送请求!(file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps30.jpg):抓取移动端流量

3.断点

在rules菜单下选择automatic breakpoints(1)请求前断点,选择before request(快捷键F11)请求发出后会被fiddler拦截(此时请求还未被发送到服务端),拦截后就可以修改请求内容,修改完成后点击请求信息窗口中的run to completion按钮或工具栏中的go按钮即可放行(此时修改后的请求会被发送到服务端)(2)响应后断点,选择after response(快捷键Alt+F11)服务端响应请求后会被fiddler拦截(此时响应内容还未被发送到客户端),拦截后就可以修改响应内容,修改完成后点击响应信息窗口中的run to completion按钮或工具栏中的go按钮即可放行(此时修改后的响应信息会被发送到服务端)(3)关闭断点功能,disabled(快捷键Shift+F11)

4.常用命令

(1)?+关键字,从protocol、host、url三个字段中进行模糊匹配,高亮显示匹配到的请求(2)@+关键字,从host字段中进行模糊匹配,高亮显示匹配到的请求(3)<+数字,与body的大小作比较,高亮显示小于指定数字的请求(4)>+数字,与body的大小作比较,高亮显示大于指定数字的请求(5)=+状态码,与result作比较,高亮显示等于指定状态码的请求(6)cls,清空当前会话列表中的所有请求(7)dump,转存当前会话列表的所有请求数据(8)Select+空格+关键字,从content-type中进行模糊匹配,高亮显示匹配到的请求(9)start,开启代理(10)stop,关闭代理(11)bpu+空格+关键字,从protocol、host、url三个字段中进行模糊匹配,拦截匹配到的请求(12)bpm/bpv+空格+method,拦截指定的方法的请求(13)bps+空格+状态码,拦截指定响应状态码的请求(14)bpafter+空格+关键字,从protocol、host、url三个字段中进行模糊匹配,拦截匹配到的响应(15)g/go,放行当前被拦截的请求或响应(16)Alt+Q:光标定位到命令行的快捷键

5.Fiddler允许移动端抓包

(1)Tools--options--https:全部勾选(2)Tools--options--connections:勾选allow remote computers to connect端口号默认:8888(3)移动端和PC端在同一个网络下(4)移动端设置代理ip为PC的ip,端口号为:8888(与fiddler中设置的端口号保持一致)(5)如果要抓https的包,在移动端访问:      http://<pc端ip>:8888,下载证书安装,并设置信任证书(6)如果所有配置都已配好,还是无法正常抓包,可以查看移动设备型号是否需要额外配置

6.模拟弱网

(1)在FiddlerScript中搜索m_SimulateModem,修改上传和下载的延迟时长,即可达到模拟弱网的目的

二、HTTP协议


[*]超文本传输协议
[*]查看网页源代码:鼠标右键选择'查看网页源代码'常见标签:input img i a button link span
[*]http的特点(1)      无连接(不是不连接,是不保持连接)(2)      媒体独立(约定的 mime-type)(3)      无状态(没有记忆力)
[*]http和tcp /ip的区别(1) tcp协议传输数据,HTTP进行解释(2) http是无连接,tcp是有连接(3) http是无状态,tcp是有状态(4) http是应用层协议,tcp是传输层协议
[*]http请求内容(1) requestRequest method: 请求方法 (get post)Request URL: 请求地址Request headers: 请求头

[*]Content-type:指定接收数据的格式Accept:指定可接受数据类型
Accept-language:指定客户端可接受语言类型
[*]Accept-length:指定客户端可接受的数据长度
[*]Accept-encoding:指定客户端可接受的编码格式
[*]Cookies:存放在客户端本地的身份认证信息
[*]Host:服务器主机地址
[*]User-agent:客户端系统和系统版本,浏览器和浏览器版本
[*]Referer:请求是从哪里发出来的,可以用来鉴别爬虫数据
Request body: 请求体(post 要传的参数一般放在body中进行传输)
[*]Application/x-www-form-urlencoded:表单数据
[*]Mutipart-form:表单数据(可传文件),
(2) responseResponse status: 响应状态码Response headers: 响应头Response body: 响应体(3) 常见请求方法get:从服务器获取信息​      传参方式:一般直接在url上面跟要传的参数,参数和路径之间用?间隔,不同参数之间用&间隔post:修改服务器的信息​      传参方式:一般在body 中跟要传的参数
​      form-data:表单形式,既可以传文本,也可以传文件
​      **x-www-form-urlencoded:表单形式,只能传文本,不能传文件      **​      Raw:支持多种格式:
text:纯文本javascript:js脚本json:按照json数据格式的要求传参​      html:网页源代码​      xml:xml配置文件binary:二进制文件put:更新服务器的文档信息patch:更新服务器文档的局部信息delete:删除指定页面head: 获取响应头,无响应体Connect:预留给代理服务器用来建立连接管道Options:允许查看服务端性能Trace:回显服务器的请求,用于测试诊断资料>>>>https://tool.oschina.net/commons?type=5https://baike.baidu.com/item/http/243074?fr=aladdin#2https://germey.gitbooks.io/python3webspider/content/2.1-HTTP基本原理.html

三、Json数据1.json(javascript object notation------js对象表示法)      是一种轻量级数据交换格式,独立于语言和平台.2.json语法规则(1)键值对(同一层中key不能重复)(2)键和值之间用冒号间隔(3)每组数据间用逗号隔开(4)值可以是:字符串,数字,数组,对象,bool值,null

四、postman1.鉴权(1)鉴权方式:basic-auth(账号密码)、digest-auth(账号密码+realm)、Oauth1.0(customer key+)、Oauth2.0、hawk authentication





页: [1]
查看完整版本: 教你学会Fiddler接口测试的核心知识点!