Fiddler笔记(一)

备注:未经博主允许禁止转载

个人笔记(整理不易,有帮助,收藏+点赞+评论,爱你们!!!你的支持是我写作的动力)

笔记目录学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客

个人随笔工作总结随笔_8、以前工作中都接触过哪些类型的测试文档-CSDN博客

目录

一:简单了解

二:下载安装

三:工具使用

四:HTTP协议报文结构

(1)HTTP请求报文

(2)HTTP响应报文


一:简单了解

数据包也叫报文,捕获数据包简称抓包(Packet Capture)

1)Fiddler能干嘛????

1:性能测试,捕获数据包,用工具(Jmeter、LoadRunner)模拟多用户同时发包

2:安全测试,Fiddler作为“中间人”,能修改包的内容,做到SQL注入,篡改,重放攻击等(渗透,越权,XSS,SQL注入,OWASP攻击)

3:接口测试,开发不提供接口文档,测试可以去抓包查看接口的信息

4:异常测试,模拟服务器返回500错误,测试客户端是否正常

5:定位BUG是前端还是后端的,看响应数据跟界面对比

6:前端可以使用Fiddler的AutoResponder模拟请求接口,调试UI组件(后端接口Mock)

7:AJAX调试:比如要测试后端返回的特殊数据结构对页面和客户端的影响,可以造一些假数据去测试(XSS,长数据,不同字段类型(数组,数字,字符串))

8:线上测试:使用AutoResponder,用本地的HTML/css/JavaScript文件替换线上的文件

8:检查404错误( 多数404跟资源文件引用有关,如某些代码引用了这些不存在的CSS或者js文件,可能不会影响页面显示,但会影响性能。正常引用的文件存在,请求一次,浏览器缓存起来,客户端减少请求次数,服务器减轻连接压力,但是这些不存在的文件,会导致每次打开页面都要去请求,这就延长了页面加载时间,也给服务器带来了压力,浪费网络资源),大响应问题(响应太大,网络传输时间长)

2)爬虫是什么?

抓包是了解客户端和服务器交互的过程,爬虫是了解交互过程后模拟请求获取数据的工具

爬虫抓取数据的优先级:手机端>手机网页>PC端

3)Fiddler是位于客户端和服务器端的HTTP(超文本传输协议)的代理

 Fiddler就是在这个过程中去监听

B/S架构(brower/server 浏览器/服务器):客户端发送HTTP请求给服务器,服务器处理请求,生成HTTP响应发给客户端,客户端再解析HTTP响应中的HTML

 

二:下载安装

官网下载:Download Fiddler Web Debugging Tool for Free by Telerik

下载Fiddler4.0,因为w7和w10一般安装好了.NET Framework 2.0

打开个网址,可以看到抓到很多东西(记得浏览器去缓存)

比如一个图片资源,可以去复制一下地址

由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射

域名地址的信息存放在一个叫域名服务器(DNS,Domain name server)的主机内,使用者只需了解易记的域名地址,其对应转换工作就留给了域名服务器。域名服务器就是提供IP地址和域名之间的转换服务的服务器

三:工具使用

参考:Fiddler学习(五)_如何取消fiddler中取消勾选保存会话_weixin_42717928的博客-CSDN博客

四:HTTP协议报文结构

(1)HTTP请求报文

 HTTP请求报文主要由请求行、请求头部、空一行、请求体(这个不一定有)4部分组成

请求方式:

 请求头开发可以自定义:

 如登录例子:http://test.lemonban.com/ningmengban/app/login/login.html

GET没有请求体,POST有

【请求行】
# 请求方式、统一资源定位符(请求地址)、HTTP协议/版本号
POST http://test.lemonban.com/ningmengban/mvc/user/login.json HTTP/1.1

【请求头部信息】
# 域名(确认主机IP的)
Host: test.lemonban.com
Connection: keep-alive   # 连接方式:长连接
Content-Length: 62       # 内容长度
# 返回内容
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
# 客户端的信息(系统、浏览器信息)
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36
# 请求的格式
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Origin: http://test.lemonban.com
# 哪个页面发起的请求
Referer: http://test.lemonban.com/ningmengban/app/login/login.html
# 可接收的内容编码
Accept-Encoding: gzip, deflate
# 接收的语言
Accept-Language: zh-CN,zh;q=0.9

【空一行】

【请求体】
username=178&password=5617b632ee84e00a6a9d254f03

(2)HTTP响应报文

【响应状态行】
# 协议版本、状态码、原因短语
HTTP/1.1 200 OK
# 响应头部信息
Server: nginx/1.12.0
Date: Tue, 02 Jun 2020 11:49:31 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: JSESSIONID=56F23667C30C403EF0ACB2107BD52E00; Path=/ningmengban

【空一行】

【响应体】
46
{"success":true,"message":"登录成功","content":null,"object":null}
0

常用状态码:(详情参考HTTP学习(三)_weixin_42717928的博客-CSDN博客

更多状态码:(HTTP状态码_百度百科

响应头:

set-Cookie:服务器返回了一段文本给客户端,客户端把它保存在本地,回头请求要把这个带上,让服务器知道你已经登录了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
写一个 Fiddler 插件需要掌握 C# 编程语言和 Fiddler 的 API,下面是一个简单的示例插件: 1. 创建一个类库项目 2. 在项目引用中添加 FiddlerCore.dll 和 Fiddler.dll 3. 在项目中添加一个类,继承自 Fiddler.IAutoTamper ``` using Fiddler; public class MyPlugin : IAutoTamper { public void OnLoad() { // 插件加载时执行的代码 } public void OnBeforeRequest(Session oSession) { // 请求发送前执行的代码 } public void OnBeforeResponse(Session oSession) { // 响应接收前执行的代码 } public void OnAfterSessionComplete(Session oSession) { // 会话结束后执行的代码 } public void OnBeforeReturningError(Session oSession) { // 返回错误前执行的代码 } public void OnUnloaded() { // 插件卸载时执行的代码 } } ``` 4. 实现需要的方法,在这里可以实现自定义的逻辑。例如,可以在 OnBeforeRequest 方法中修改请求头信息: ``` public void OnBeforeRequest(Session oSession) { if (oSession.oRequest.headers.Exists("User-Agent")) { oSession.oRequest.headers.Remove("User-Agent"); } oSession.oRequest.headers.Add("User-Agent", "MyPlugin/1.0"); } ``` 5. 在 Fiddler 中加载插件,具体步骤是:Tools -> Fiddler Options -> Extensions -> Add,选择插件的 .dll 文件,然后点击 OK。 6. 启动 Fiddler,插件就会自动加载并开始运行。可以通过 Fiddler 界面的日志窗口查看插件的输出。 这只是一个简单的示例插件,实际上可以根据需要编写更复杂的插件来扩展 Fiddler 的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小chen小陈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值