目录

一、Fiddler简介

二、Fiddler工作原理

1.Fiddler工作原理

2.HTTP协议

HTTP 请求报文

HTTP 响应报文

 3.Fiddler使用场景

三、Fiddler安装

四、Fiddler功能介绍

1.页面介绍

①工具栏介绍:

②会话列表面板功能介绍:

③HTTP请求窗口:

④HTTP相应窗口:

⑤命令窗口:

2.端口查看

3.抓HTTPS协议的网址

4.重放攻击


一、Fiddler简介

    Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求。允许你监视、设置断点、甚至修改输入输出数据。Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。

二、Fiddler工作原理

1.Fiddler工作原理

    Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。 当Fiddler退出的时候它会自动注销, 这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。 解决的办法是重新启动下Fiddler。

2.HTTP协议

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

完整的 http 协议包含请求和响应两块内容

HTTP 请求报文

HTTP 请求报文主要由请求行、请求头部、空一行、请求正文(请求体)4 部分组成

 

 

 

HTTP 响应报文

HTTP 响应报文主要由状态行、消息报头、空一行、响应正文 4 部分组成

 

 3.Fiddler使用场景

  • 接口调试、接口测试、线上环境调试、Web 性能分析

  • 判断前后端 bug、开发环境 hosts 配置、mock、弱网断网测试

三、Fiddler安装

1.下载地址

https://www.telerik.com/download/fiddler

2.点击下载,打开exe文件,按导向点下一步安装即可。

3.哔哩哔哩学习教程推荐视频

Fiddler抓包工具实战全网最全最细教程,没有之一【柠檬班】_哔哩哔哩_bilibili小伙伴们有需要工具+简历模板+最新视频+100G学习资料包等等可以加微信:17377780894,免费领取ヾ(◍°∇°◍)ノ゙(备注:B站)每天分享免费视频,一起交流讨论自动化测试性能测试、接口测试、笔试面试等等技术更多柠檬班的明星老师们等待着你~icon-default.png?t=N7T8https://www.bilibili.com/video/BV1c4411c7zH?p=10&spm_id_from=pageDriver

四、Fiddler功能介绍

1.页面介绍

①工具栏介绍:

②会话列表面板功能介绍:

# :HTTP Request的顺序,从1开始,按照页面加载请求的顺序递增。

Result : HTTP响应的状态

Protocol:请求使用的协议(如HTTP/HTTPS)

HOST:请求地址的域名/ip

URL:请求的服务器路径和文件名,也包含GET参数

BODY:请求的大小,以byte为单位

Content-Type:请求响应的类型

Caching:请求的缓存过期时间或缓存控制header的值

Process:发出此请求的Windows进程及进程ID

Comments :用户通过脚本或者菜单给此session增加的备注

custom:用户可以通过脚本设置的自定义值

③HTTP请求窗口:

各种形式查看请求信息。

请求窗口上面的页签介绍:

Statistics统计页签

通过该页签, 用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。选择第一个请求和最后一个请求, 可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多, 从而对页面的访问进行访问速度优化

inspectors检查页签

它提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息,它分为上下两部分:上部分为HTTP Request(请求)展示,下部分为HTTPResponse(响应)展示

AutoResponse自动响应页签

Fiddler最实用的功能, 它可以抓取在线页面保存到本地进行调试, 大大减少了在线调试的困难, 可以让我们修改服务器端返回的数据, 例如让返回都是HTTP404或者读取本地文件作为返回内容。

可设置打开某网页显示自己想要的内容,比如抓取百度链接,点击add rule,设置如下所示:

到百度页面刷新即可显示该图片

 

composer构建页签

支持手动构建和发送HTTP, HTTPS和FTP请求, 我们还可以从web session列表中拖曳session, 把它放到composer选项卡中, 当我们点击Execute按钮, 把请求发送到服务器端。操作如下图所示:

这样设置发送的请求,就不是浏览器发出的了,而是fiddler发出的,查看inspectors里面的信息便可看出

log日志页签: 打印日志

Filters过滤页签

过滤器可以对左侧的数据流列表进行过滤, 我们可以标记、 修改或隐藏某些特征的数据流。

①选择Filters页签,勾选use Filters勾选 Request Headers 中的 Hide if url contains 过滤项

②在里面输入:REGEX:(?insx)/[^\?/]*\.(css|ico|jpg|png|gif|bmp|wav)(\?.*)?$

REGEX: 表示启用正则表达式(?insx) 设置正则解释的规则,忽略大小写等。

此表达式表示过滤掉 url 中包括 css、ico、jpg 等后缀的请求

③勾选 Request Headers中的show only if URL contains,在里面输入

REGEX:(?insx).*\.?http://baidu.com/home.* 只显示: http://baidu.com/Home

Fiddler过滤指定域名

第二个选项是只监控以下网址,如只监控百度,在下面的输入框里填上http://www.baidu.com

“No Host Filter”不设置hosts过滤

“Hide The Following Hosts”隐藏过滤到的域名

“Show Only The Following Hosts”只显示过滤到的域名

“Flag The Following Hosts”标记过滤到的域名

Timeline时间轴页签

时间轴,也称为Fiddler的瀑布图,展示网络请求时间的功能。 每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。把多个请求以时间作为 X 轴, 用图表的形式展现出来, 就形成了瀑布图。 在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间

④HTTP相应窗口:

各种形式查看相应信息

⑤命令窗口:

Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。

常见得命令有:

help : 打开官方的使用页面介绍, 所有的命令都会列出来

cls : 清屏 (Ctrl+x 也可以清屏)

select : 选择会话的命令, 选择所有相应类型select image、select css、select html

?sometext : 查找字符串并高亮显示查找到的会话列表的条目,?http://qq.com

>size : 选择请求响应大小小于size字节的会话

=status/=method/@host:查找状态、方法、主机相对应的session会话,=504,=get,@http://www.qq.com

quit:退出fiddler

Bpafter,Bps, bpv, bpm, bpu这几个命令主要用于批量设置断点

Bpafter xxx: 中断 URL 包含指定字符的全部 session 响应

Bps xxx:中断 HTTP 响应状态为指定字符的全部 session 响应。

Bpv xxx:中断指定请求方式的全部 session 响应

Bpm xxx:中断指定请求方式的全部 session 响应,等同于bpv xxx

Bpu xxx:与bpafter类似。

2.端口查看

工具栏 Tools-Options-connections. 默认:8888,抓包手机时链接同一个局域网, Allow remote computer to connect 勾选上,允许远程连接。

3.抓HTTPS协议的网址

工具栏 Tools-Options-HTTPS.安装信任证书在这边设置。

4.重放攻击

模拟重放攻击,多次发送相同请求,此方式是串行发送请求,多次请求接口。

发送多次:Shift+R或者选中网址点击R键

删除网址:Ctrl+X或者工具栏"X"或者选择网址直接Delete

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐