目录:导读

一、Fiddler抓包工具简介

二、Fiddler工作原理

三、Fiddler安装

四、Fiddler界面介绍

五、Fiddler菜单栏介绍

六、Fiddler工具栏介绍

七、Fiddler回话列表详解

八、Fiddler功能页签详解

九、Fiddler命令行工具详解

十、Fiddler状态栏详解

十一、总结


一、Fiddler抓包工具简介

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

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

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

二、Fiddler工作原理

Fiddler原理图如下:

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

当浏览器向服务器请求数据时,被Fiddler截获,截获后再发送给服务器,当服务器向浏览器响应数据时,同样会被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安装注意事项:不要安装在有中文和特殊字符的目录。

四、Fiddler界面介绍

Fiddler界面从上到下分为:菜单栏、工具栏、回话列表、功能页签、命令行,状态栏六大板块!如下图所示:

五、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选项窗口。

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:添加新的回话时,自动滚动到回话列表底部

六、Fiddler工具栏介绍

1.备注功能

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

3.删除请求

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

5.流模式。(默认是缓冲模式)

6.解码
7.保持回话的数量。
8.选择你想要抓包或者监听的程序

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

11.截图

12.计时器

13.快捷的打开IE浏览器

14.清除IE缓存

15.文本的编码解码工具

16.分离面板

17.MSDN查询

18.本机的信息

七、Fiddler回话列表详解

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

主要包含:1.请求的ID编号、2. http响应状态码、3.会话使用的协议、4.请求发送到的服务器主机名、5.数据包在服务器中的路径和文件、6.响应body的字节数。7.响应头信息Cache-Control的值、8、响应头信息Content-Type的值、9.发起请求的本地windows进程、10.注释、11.自定义备注。

八、Fiddler功能页签详解

Statistics页签

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

inspectors页签(常用页签)

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

AutoResponse页签(常用页签)

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

composer页签(常用页签)

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

FiddlerScripts页签

打开Fiddler脚本编辑。

log页签:

打印日志

Filters页签(常用页签)

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

Timeline页签

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

九、Fiddler命令行工具详解

Fiddler命令行可以输入命令操作回话列表,常见命令有:

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

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

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

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

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

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

1uit      退出fiddler

bpafter xxx 中断URL包含指定字符的全部回话响应

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

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

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

bpu xxx:    与bpafter类似。

十、Fiddler状态栏详解

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;如果在命令行输入一个命令,就会显示命令相关信息。

十一、总结

如果你对此文有任何疑问,如果你觉得此文对你有帮助,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:

软件测试技术群:695458161,群里发放的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

作者:来自公众号:软测之家
出处:
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接!

全网最全最细的fiddler使用教程以及工作原理的更多相关文章

  1. 全网最全最细的jmeter接口测试教程以及接口测试流程详解

    一.Jmeter简介 ​ Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试. Jmeter具备高移植性,可以实现跨平台运行. Jmeter可以实 ...

  2. 【全网最全的博客美化系列教程】08.自定义地址栏Logo

    全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...

  3. 【全网最全的博客美化系列教程】01.添加Github项目链接

    全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...

  4. 【全网最全的博客美化系列教程】02.添加QQ交谈链接

    全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...

  5. Fiddler抓包和工作原理

    一.概述 Fiddler是一款免费且功能强大的数据包抓取软件.它通过代理的方式获取程序http通讯的数据, 可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求, 支持监视. ...

  6. 全网最全最细的appium自动化测试环境搭建教程以及appium工作原理

    一.前言 ​ 对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功.appium 自动化测试 ...

  7. 全网最全!这份深入讲解jdk和jvm原理的笔记,刷新了我对JVM的认知

    前言 前两天和朋友探讨技术的时候有聊到JVM和JDK这一块,聊到这里两个人就像高山流水遇知音那是根本停不下来,事后我想着趁现在印象还比较深刻就把这些东西整理起来分享给大家来帮助更多的人吧.话不多说,满 ...

  8. 全网最全fiddler使用教程和fiddler如何抓包(fiddler手机抓包)-笔者亲测

    一.前言 抓包工具有很多,比如常用的抓包工具Httpwatch,通用的强大的抓包工具Wireshark.为什么使用fiddler?原因如下:1.Wireshark是通用的抓包工具,但是比较庞大,对于只 ...

  9. 全网最全ASP.NET MVC 教程汇总

    全网最全ASP.NET MVC 教程汇总 MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要学习ASP.NET MV ...

随机推荐

  1. Linux基础篇学习——文件目录常用管理命令mkdir,cat,more,less,ln,file,cp,find,split,mv

    mkdir 创建目录 -p 递归创建目录 -v 显示创建信息 [root@zycentos7 ~]# mkdir -p {mylinux/{bin,conf,lib,logs,webapps/{doc ...

  2. Redis 缓存更新一致性

    当执行写操作后,需要保证从缓存读取到的数据与数据库中持久化的数据是一致的,因此需要对缓存进行更新. 因为涉及到数据库和缓存两步操作,难以保证更新的原子性. 在设计更新策略时,我们需要考虑多个方面的问题 ...

  3. 热点 | 四月最佳Github项目库与最有趣Reddit热点讨论

    来源:Analytics Vidhya 编译:磐石 [磐创AI导读]:Github是全球最大的开源代码社区,Reddit是最受大家欢迎的热点讨论交流平台.接下来磐创AI将为大家带来四月份Github最 ...

  4. ATM 最初版

    # 二 一个项目开发前,有一份开发文档 # # 项目: 编写小说阅读程序实现下属功能 # # # 一:程序运行开始时显示 # 0 账号注册 # 1 账号登录 # 2 充值功能 # 3 阅读小说 imp ...

  5. class-dump的安装和使用

    安装步骤 1.下载地址:http://stevenygard.com/projects/class-dump/ 2.打开终端输入 open /usr/local/bin 3.把dmg文件中的class ...

  6. Day20-tomcat

    tomcat 一.Java及tomcat简介 二.安装JDK及tomcat 1.安装jdk 安装jdk很简单,首先下载网上的jdk安装包,我这边下载的是jdk-8u221-linux-x64.tar. ...

  7. 9.Metasploit制作木马后门

    01木马与后门   木马?后门? 木马和后门都有害,尤其是木马,它由攻击者主动发起,稍不留心就会被利用:后门原来是留给自己方便用的,但也有可能被非法利用,这两种程序都会给用户带来损失. 木马是指潜伏在 ...

  8. 高性能/并发的保证-Netty在Redisson的应用

    前言 ​ Redisson Github: https://github.com/redisson/redisson ​ Redisson 官网:https://redisson.pro/ Redis ...

  9. 字符串学习笔记(二)---- StringBuffer

    一.相关介绍 1.StringBuffer介绍 StringBuffer对象是字符串缓冲区对象,用于存放数据的容器 2.StringBuffer特点 StringBuffer(字符串缓冲区对象)的长度 ...

  10. STM32F103ZET6的基本定时器

    1.定时器的分类 STM32F103ZET6总共有8个定时器,它们是:TIM1~TIM8.STM32的定时器分为基本定时器.通用定时器和高等定时器. TIM6.TIM7是基本定时器.基本定时器是只能向 ...