Fiddler

吴书松
吴书松
发布于 2024-07-17 / 11 阅读
0

Fiddler

Fiddler

1、安装和抓Https包

https://blog.csdn.net/weixin_43022051/article/details/126453551

1、Fiddler简介

Fiddler 是一款免费、灵活、操作简单、功能强大的 HTTP 代理工具,是目前最常用的 HTTP 抓包工具之一。可以抓取所有的 HTTP/HTTPS 包、过滤会话、分析请求详细内容、伪造客户端请求、篡改服务器响应、重定向、网络限速、断点调试等功能。

2、Fiddler工作原理

Fiddler是以代理web服务器形式工作的,在客户端和服务器之间,建立了一个HTTP代理服务器,当启动的时候,Fiddler会默认把自己设置为系统代理,来监听客户端的HTTP/HTTPS请求,默认代理地址为:127.0.0.1, 默认端口为:8888,浏览器访问WEB网站的时候,请求报文会先发送到Fiddler,Fiddler 再把请求报文转发给服务器,Web服务器返回的响应报文,也会先达到Fiddler,Fiddler再把响应报文返回给浏览器。

3、Fiddler下载与安装

1、下载

(1)Fiddler官网地址:https://www.telerik.com/fiddler (2)打开官网,选择经典版下载。

填上邮箱,勾上协议,点击【Download For Windows】。

# 2、安装 双击运行下载文件,点击【I Agree】,进入下一步。 根据自己需要,可以修改路径,修改后,点击【Install】,即可安装成功。 2、Https证书安装 默认状态下,Fiddler只能监听HTTP请求,想要抓取HTTPS请求包,需要进行设置,设置路径:Tool->Options->HTTPS

1、勾选如图选项

2、点击【Actions】,选择信任根证书。

3、导出证书到桌面

4、打开浏览器,安装证书

5、重启浏览器,Fiddler

6、重置Fiddler证书 这一步可以不要

7、测试 接下来我们访问百度等https链接,就能看到已经抓到HTTPS的包啦

2、基本使用

1、Fiddler抓包开关 - 界面左下角,Capturing展示时,代表开关为开; - 点击隐藏Capturing,代表开关为关,会停止抓包。

2、Fiddler过滤 工作中,我们可能只想展示自己公司项目的请求,这种情况下,可以使用Filters对主机进行过滤。

操作步骤如下:

  • * (1)勾选Use Filters,使用过滤器;

  • * (2)选择Hosts-Show only the following Hosts,展示以下主机的请求;

  • * (3)输入需要展示的Host,使用分号隔开;

  • * (4)点击Actions-Run Filterset Now。

  • 注意:

  • * (1)如果过滤本机,则需要127.0.0.1 和 localhost都需要写;

  • * (2)百度由于有很多二级域名,故前面写*.;

* (3)所有的HOST,都不需要带端口。

3、Inspectors功能 Inspectors 主要是查看请求报文、响应报文,是Fiddler最主要的功能,Inspectors 界面上半部分为请求报文,下半部分为响应报文

4、断点功能

  • * Fiddler 可以通过设置断点修改请求,拦截响应数据,篡改响应。Fiddler有两种设置断点的方式:全局断点和局部断点。设置全局断点后,所有的 HTTP/HTTPS请求都会被拦截;而设置局部断点后,仅针对设置断点的请 求进行拦截。常用的是局部断点。

  • * 全局断点,所有的 HTTP/HTTPS 请求都会被拦截。 (1) 局部断点 局部断点,是针对某条特定的请求设置断点进行调试。在命令行中输入需要设置断点的请求指令,也是常用的一种断调试方式。 命令行输入框如下: 常用断点调试命令 如下:

    bpu 空格+ 接口地址,回车          #请求前断点 
    
    bpafter 空格+ 接口地址,回车      #响应后断点
    
    bps 空格+ 响应状态码,回车       #HTTP响应状态码断点 
    
    bpm 空格+ 请求方式,回车          #请求方式断点
    
    bpu+回车                       #取消所有请求前断点 
    
    bpafter+回车                    #取消所有响应后断点 
    
    bps+回车                        #取消所有响应状态码断点 
    
    bpm+回车                        #取消所有请求方式断点

案例

某输入框需做字符数限制,不可超过100个字符,前端已做限制,测试接口是否做限制,可以使用请求前断点,篡改请求参数。

(1)在Fiddler左下角输入命令 bpu 空格+ 接口地址,回车 ; (2)输入框填写数据,提交;

(3)此时我们可以看到Fiddler已经拦截该请求,修改请求参数,输入超过100字符的数据,点击【Break on Rep】、【Run to Comp】; (4)观察响应报文,我们发现请求成功,这就说明接口层未作字符数限制,可以提交bug给后端

5、弱网络环境测试

(1)在Fiddler中启动弱网 Rules -> Performance -> 勾选Simulate Modem Speed,勾选之后网络速度会慢下来,因为系统里有预设的网络参数值。

(2)设置网络参数

(1)Rules -> Customize Rules,打开代码编辑弹框;

(2)Ctrl+f关键字查找m_SimulateModem,设置弱网参数值;

(3)设置完成后,保存。 注意保存后,步骤1勾选的Simulate Modem Speed会被取消勾选,需要重新勾选一下再进行测试。

# 6、fiddler抓取idea发出的请求 通过查看fiddler可以看到,fiddler代理的端口是8888,需要将idea的请求代理设置为8888 ## 1、Http请求设置代理

2、idea项目整体配置代理

-DproxySet=true 
-DproxyHost=127.0.0.1 
-DproxyPort=8888