Fiddler 详细教程

介绍:

Fiddler是位于客户端和服务器端的HTTP代理。

Fiddler是目前最常用的http抓包工具之一。

Fiddler是功能非常强大,是web调试的利器。

官网: https://link.jianshu.com/?t=http://www.telerik.com/fiddler

官网文档: https://link.jianshu.com/?t=http://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler

 

工作原理:

Fiddler是一个代理服务器。代理地址:127.0.0.1,端口:8888。浏览器可以通过设置查看代理服务器:设置->高级->打开您计算机的代理设置->连接->局域网设置->代理服务器->在高级中就能看到代理地址:127.0.0.1和端口:8888

当浏览器向服务器请求数据时,被Fiddler截获,截获后再发送给服务器,当服务器向浏览器响应数据时,同样会被Fiddler截获,然后再发送给浏览器,所以我们能够在Fiddler中看到请求的报文和响应的报文。

关掉Fiddler、代理服务器会自动取消。如果Fiddler非正常退出,因为Fiddler没有自动注销,可能会造成网页无法访问。解决的办法是重新启动Fiddler。

 

 

安装:

Fiddler官网下载地址: https://www.telerik.com/fiddler

Fiddle证书生成器下载地址: http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2

Fiddler安装注意事项:不要安装在有中文和特殊字符的目录。

 

 

主界面分布:

菜单栏、工具栏、回话列表、功能页签、命令行、状态栏

 

菜单栏介绍:

  • File:

1、Capture Traffic:可以控制是否把Fiddler注册为系统代理。

2、New Viewer:打开一个新的fiddler窗口

3、Load Archive:用于重新加载之前捕获的以SAZ文件格式保存的数据包。

4、Save:支持以多种方式把数据包保存到文件中。

5、Import Sessions...:支持导入从其他工具捕获的数据包,也支持导入以其他格式存储的数据包。

6、Export Sessions...:把Fiddler捕捉到的回话以多种文件格式保存。

7、Exit:取消把Fiddler注册为系统代理,并关闭Fiddler。

  • Edit:

1、Copy:复制会话。

2、Remove:删除会话。

3、Select All:选择所有会话。

4、Undelete:撤销删除会话。

5、Paste as Session把剪贴板上的内容粘贴成一个或多个模拟的会话。

6、Mark:选择一种颜色标记选中会话。

7、Unlock for Editing 解锁会话。

8、Find Session...打开Find Session窗口,搜索捕获到的数据包。

  • Rules

1、Hide Image Request:隐藏图片回话。

2、Hide CONNECTS:隐藏连接通道回话。

3、Automatic Breakpoints:自动在[请求前]或[响应后]设置断点。Ignore Image触发器控制这些断点是否作用于图片请求。

4、Customize Rules...:打开Fiddler脚本编辑窗口。

5、Require Proxy Authentication:,要求客户端安装证书。该规则可以用于测试HTTP客户端,确保所有未提交Proxy-Authorization请求头的请求会返回HTTP/407响应码。

6、Apply GZIP Encoding:只要请求包含具有gzip标识的Accept-Encoding请求头,就会对所有响应使用GZIP HTTP进行压缩(图片请求除外)。

7、Remove All Encoding:删除所有请求和响应的HTTP内容编码和传输编码

8、Hide 304s:隐藏响应为HTTP/304 Not Modified状态的所有回话。

9、Request Japanese Content:选项会把所有请求的Accept-Encoding请求头设置或替换为ja标识,表示客户端希望响应以日语形式发送。

10、User-Agents:把所有请求的User-Agent请求头设置或替换成指定值。

11、performance:模拟弱网测试速度。

  • Tools

1、Options...:打开Fiddler选项窗口。

  •       监听HTTPS

    可以监听HTTP请求而且默认情况下也能捕获到HTTPS请求,Tool -> Fiddler Option -> HTTPS下面进行设置,勾选上“Decrypt HTTPS traffic”,如果不必监听服务器端得证书错误可以勾上“ Ignore server certification errors”

2、WinINET Options...打开IE的Internet属性窗口

3、Clear WinINET Cache:清空IE和其他应用中所使用的WinINET缓存中的所有文件。

4、Clear WinINET Cookies:清空IE和其他应用中所发送的WinINET Cookie

5、TextWizard...:选项会启动TextWizard窗口,对文本进行编码和解码。

6、Compare Session:比较回话。

7、Reset Script:重置Fiddler脚本。

8、Sandbox:打开http://webdbg.com/sandbox/

9、View IE Cache:打开IE缓存窗口。

  • View

1、Show Toolbar:控制Fiddler工具栏是否可见

2、Default Layout、Stacked Layout、Wide Layout三种界面布局

3、Minimize to Tray:最小化Fiddler到系统托盘(快捷键:CTRL+M )

4、Squish Session List:控制回话列表是否水平收缩。

5、AutoScroll Session list:添加新的回话时,自动滚动到回话列表底部

 

工具栏介绍:

 

 

1.备注功能

2.重新发送请求,快捷键:R键。

3.删除请求

4.当有请求前断点时,点击去发送请求。

5.流模式/缓冲模式 (默认缓冲模式)

6.解码

7.保持回话的数量。

8.选择你想要抓包或者监听的程序

9.查找

10.保存所有会话,文件名以.saz为扩展名

11.截图

12.计时器

13.快捷的打开IE浏览器

14.清除IE缓存

15.文本的编码解码工具

16.分离面板

17.MSDN查询

18.本机的信息

 

回话列表介绍:

会话(session)即Fiddler抓取到的每条http请求数据包。

状态码介绍: https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin

1.请求的ID编号、 2. http响应状态码、 3.会话使用的协议、 4.请求发送到的服务器主机名、 5.数据包在服务器中的路径和文件、 6.响应body的字节数。

7.响应头信息Cache-Control的值、 8、响应头信息Content-Type的值、 9.发起请求的本地windows进程、 10.注释、 11.自定义备注。

 

功能页签详解:

  • inspectors(常用页签)

        它提供headers、textview、hexview,Raw等多种方式查看一条http请求的请求和响应,它分为上下两部分:上部分为请求展示,下部分为响应展示。

  • AutoResponse(常用页签)

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

  • composer(常用页签)

        支持手动构建和发送HTTP,HTTPS和FTP请求,我们还可以从回话列表中拖曳回话,把它放到composer选项卡中,当我们点击Execute按钮时则把请求发送到服务器端。

  • Filters(常用页签)

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

  • Statistics

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

  • FiddlerScripts

       打开Fiddler脚本编辑。

  • log:

       打印日志

  • Timeline

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

 

命令行工具详解:

官网介绍: https://docs.telerik.com/fiddler/knowledge-base/quickexec

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

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

select    选择所有相应类型的回话(如select image或select css)。

?sometext  查找字符串并高亮显示查找到的会话。

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

=status/=method/@host  查找状态、方法、主机相对应的会话

1uit       退出fiddler

bpu URL   中断URL请求。

bpafter URL 中断URL响应。

bps xxx     中断HTTP响应状态为指定字符的全部回话响应。

bpv xxx     中断指定请求方式的全部回话响应。

bpm xxx     中断指定请求方式的全部回话响应。等同于bpv xxx

bpu 取消单个断点

 

状态栏详解:

 

1、显示的Fiddler是否处于捕捉状态(开启/关闭状态),可以点击该区域切换。

2、显示当前捕捉哪些进程。

All Processes 捕获所有进程的请求

Web Browsers  捕获 Web 浏览器的请求,应该特指 IE

Non-Browser   捕获非 Web 浏览器的请求

Hide All      隐藏所有请求

3、显示当前断点设置状态,通过鼠标点击切换。有三种:

不设置断点

所有请求在断点处被暂停

所有响应在断点处被暂停

4、显示当前共捕获了多少回话(如:300,表示共捕获了300个会话,如:10/300,表示当前选择10个会话,共捕获300个会话)。

5、第五区块,描述当前状态。

如果是刚打开Fiddler,会显示什么时间加载了CustomRules.js;如果选择了一个会话,会显示该会话的URL;如果在命令行输入一个命令,就会显示命令相关信息。

 

打断点示例:

  • 打开全局断点

1、打开菜单栏Rules---Automatic BreakPoints 勾选 Before Requests(或者快捷键 F11)

2、点击Fiddler下方状态栏位置3处,单击1次,开启全局请求断点,显示 T 图案表示成功。

  • 取消断点

1、 打开菜单栏Rules---Automatic BreakPoints 勾选 Disabled (或者快捷键 Shift + F11)

2、 在Fiddler下方状态栏位置3处,连续点击至图案消失,表示关闭成功。

 

修改HTTP请求

拿豆瓣网练习,进行对豆瓣网打断点,输入错误的账号密码进行请求数据,在Fiddler中修改账号密码重新发送查看页面内容

1、在命令行中输入豆瓣网址

bpu https://www.douban.com/

2、输入错误的账号名密码进行请求,下图为Fiddler抓取的内容

  1. 表示断点拒绝请求的地址(豆瓣网)
  2. 表示抓取的豆瓣网输入的错误的用户名+密码
  3. 表示 表示运行请求

 

3、直接在Fiddler修改正确的用户名+密码后,点击绿色按钮(Run to Completion),查看响应内容发现是登录成功的。

4、点击黄色按钮(Break on Response)会显示响应内容,但是还会继续拦截该网站的请求,浏览器也不会进行跳转。

 

修改HTTP响应

修改博客园的标题

1、使用 bpafter 命令进行对博客园进行断点拦截

bpafter https://www.douban.com/

2、访问博客园内容查看Fiddler响应,发现直接跳转到了上个方法点击黄色请求后的

 

3、修改标题内容和介绍信息后,点击绿色按钮(Run to Completion)

4、查看浏览器内容

查看浏览器发现博客园的标题和介绍已经修改成功

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值