Fiddler原理介绍及详细使用方法

一、Fiddler简介

  • Fiddler是位于客户端和服务器端的HTTP代理
  • 目前最常用的http抓包工具之一
  • 功能非常强大,是web调试的利器
    • 监控浏览器所有的HTTP/HTTPS流量
    • 查看、分析请求内容细节
    • 伪造客户端请求和服务器响应
    • 测试网站的性能
    • 解密HTTPS的web会话
    • 全局、局部断点功能
    • 第三方插件
  • 使用场景
    • 接口调试,接口测试,线上环境调试,web性能分析
    • 判断前后端bug、开发环境hosts配置、mock、弱网断网测试

二、B/S架构

  • 编写程序部署到web服务器
  • web服务器运行在服务器上,绑定id地址并监听某端口,接收和处理http请求
  • 客户端通过http请求协议获取服务器上的网页、文档等资源
    在这里插入图片描述

http://test.lemonban.com/ningmengban/images/logo.png
http://:协议
test.lemonban.com:域名–》主机:193.112.13.232

三、Fiddler原理

在这里插入图片描述
Fiddler会设置一个系统代理,当我们打开Fiddler后,会自动在浏览器中设置代理(如果是火狐浏览器,可能需要配置一下)。

四、HTTP与HTTPS

4.1、请求报文

  • Hyper Text Transfer Protocol(超文本传输协议)
  • 用于从万维网服务器传输超文本到本地浏览器的传送协议
  • HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端数据传输格式,最初是用来向客户端传输HTML页面的内容,默认端口是80.
  • http是基于请求与响应模式的、无状态的、应用层的协议。

在这里插入图片描述
HTTP请求报文主要由请求行、请求头部、空一行、请求正文(请求体)4部分组成
在这里插入图片描述
Get请求没有请求体
在这里插入图片描述

4.1.1、请求行

分为三部分:请求方式 同一资源定位符 HTT协议及版本号

请求方法:在这里插入图片描述
请求行

Uniform Resource Locator : 同一资源定位符

  • 用于描述网上的资源

格式: schema://host[:port#]/path/.../[?query-string]

  • scheme:协议:如http,https,ftp等
  • host:域名或者IP地址
  • port:端口
  • path:资源路径
  • query-string:发送的参数

如:https://www.baidu.com/s?wd=柠檬班

4.1.2、请求头部

在这里插入图片描述

4.1.3、空一行
4.1.4、请求体

4.2、响应报文

HTTP响应报文主要由状态行、消息包头、空一行、响应正文4部分组成
在这里插入图片描述
在这里插入图片描述
响应体不是一定存在的,但一般都会有。

4.2.1、响应行(状态行)

三部分:HTTP协议及版本 状态码 原因描述

状态码

  • 用以表示网页服务器HTTP响应状态的3位数字代码
    在这里插入图片描述
4.2.2、响应头(消息报头)

在这里插入图片描述

4.2.3、空一行
4.2.4、响应体(响应正文)

五、Fiddler安装及软件介绍

5.1、安装

1、双击安装
在这里插入图片描述
2、同意协议
在这里插入图片描述
3、选择路径
在这里插入图片描述
4、安装完成
在这里插入图片描述

5.2、菜单栏及工具栏介绍

在这里插入图片描述

修改端口号:
在这里插入图片描述

加一个注释:
在这里插入图片描述
保存导出:
在这里插入图片描述
重放(重复请求攻击,按R键可以重放一次,按住shift+R可以设置重放多上次):
在这里插入图片描述
删除:Delete
删除除了选中的:shift + Delete
删除所有:ctrl + x

断点调试:
在这里插入图片描述

解码:
在这里插入图片描述

保存会话数量,会话会占用数量,一般不会去点:
在这里插入图片描述

选择你要监听的程序:
在这里插入图片描述

查找(Ctrl + f):
在这里插入图片描述

截图:
在这里插入图片描述
清除IE缓存:
在这里插入图片描述
文本的编码解码:
在这里插入图片描述

这里可以看到我们的主机ip:
在这里插入图片描述

5.3、会话列表(Session List)

  • Fiddler抓取到每条http请求(每一条称为一个session)
  • 主要包含了请求的ID编号、状态码、协议、主机名、URL、内容类型、body大小、进程信息,自定义备注等信息。

在这里插入图片描述
在这里插入图片描述
增加ip列:

运行fiddler,菜单,Rules->Customize Rules,打开“Fiddler ScriptEditor”

Ctrl+F查找“static function Main()”字符串,然后添加以下代码:

FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");

修改完成后退出保存
在这里插入图片描述
ip成功展示
在这里插入图片描述

5.4、命令行及状态栏

快速执行命令:
在这里插入图片描述
打一个help可以直接进入官网

官方帮助文档:https://docs.telerik.com/fiddler/knowledgebase/quickexec

是否让fiddler做系统代理,出现此标志,则是让:
在这里插入图片描述

选择线程:
在这里插入图片描述
断点调试:
在这里插入图片描述
点击一次,请求前的断电(没有发到服务器上):
在这里插入图片描述
点击两次,响应后的断点,所有请求返回停到fiddler这里,还没有发送给客户端,我们可以点go可以让他发送到客户端:
在这里插入图片描述

5.5、Statistics(统计)

  • HTTP请求的性能和其他数据分析,如DNS解析的时间,建立TCP/IP连接的时间消耗等信息

在这里插入图片描述

5.6、Inspectors(检查器)

  • Inspectors意思是检查器
  • 可以多种方式查看请求的请求报文和响应报文相关信息

在这里插入图片描述

5.7、AutoResponder(自动响应器)

  • AutoRsponder可用于拦截某一请求,进行如下操作:
    • 重定向到本地的资源
    • 使用Fiddler的内置响应
    • 自定义响应

在这里插入图片描述
我们也可以通过修改响应体来进行测试,比如正常返回一个集合渲染页面,我们可以假设让集合为空进行测试。

在这里插入图片描述

5.8、Composer(设计器 )

  • 简单的接口测试工具

在这里插入图片描述

5.9、Filters(过滤器)


如果在抓包的时候发现自己老是抓不到包,可以检查一下是不是自己过滤器的问题。

5.10、断点

在这里插入图片描述
全局断点:

请求前断点:还未发到服务器,可以修改请求参数。

响应后断电:已经从服务器返回过来,还没有回馈个客户端,也可以进行篡改数据

局部断点:

通过命令进行断点

请求前断点:bpu

bpu login // 给url包含login的进行断点

再次输入bpu回车,取消断点

响应后的断断点:bpafeter

bpafeter login 

5.11、弱网测试

在这里插入图片描述
我们也可以自己修改延迟时间
在这里插入图片描述
ctrl+f搜索m_SimulateModem
在这里插入图片描述
修改之后重启fiddler,重启后要选中开启它
在这里插入图片描述

5.12、HTTPS抓包

  • 点击Tools > Options > Https
  • 勾选Decrypt HTTPS Traffic

在这里插入图片描述
如果选中了之后抓取不到,重置他的证书
在这里插入图片描述
在这里插入图片描述
删除之后,重新选中
在这里插入图片描述
安装证书
在这里插入图片描述
打开它查看证书是否下载完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
学习链接:https://www.bilibili.com/video/BV1c4411c7zH?from=search&seid=2112288711213406917

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Fiddler是一款非常流行且实用的HTTP抓包工具。它的原理是在本机开启一个HTTP代理服务器,通过转发所有的HTTP请求和响应来实现抓包功能。当你在电脑上使用Fiddler时,它会拦截所有通过该代理服务器的HTTP流量,你可以查看请求和响应的详细信息,包括请求头、响应头、请求体和响应体等。这使得Fiddler比其他工具如Firebug或Chrome自带的抓包工具更强大和灵活。你可以使用Fiddler来分析和调试网络请求,例如查看请求参数、观察响应状态码、修改请求头等。通过这样的方式,Fiddler帮助开发人员更好地理解和调试HTTP通信。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [fiddler原理](https://blog.csdn.net/Elvis_lfc/article/details/52312803)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Fiddler抓包](https://download.csdn.net/download/qq_42200491/10411866)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值