1、Fiddler简介

  • Fiddler是强大的抓包工具之一,它能记录所有客户端和服务器之间的HTTP和HTTPS请求,是web调试的利器。
  • Fiddler是位于客户端和服务端之间的HTTP代理,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。
  • Fiddler可以抓取支持HTTP代理的任意程序的数据包,如果要抓取https会话,要先安装证书。

说明:

代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;

同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端。

2、Fiddler功能

Fiddler可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据。

其他功能包括:

  • 监控浏览器所有的HTTP/HTTPS流量。
  • 查看、分析请求内容细节。
  • 伪造客户端请求和服务器响应。
  • 测试网站的性能。
  • 解密HTTPS的web会话。
  • 全局、局部断点功能。
  • 可进行第三方插件功能扩展。

3、Fiddler工作原理

(1)先来了解一下B/S架构

  • 编写程序部署到web服务器。
  • web服务器运行在服务器上,绑定ip地址并监听某端口,接收和处理HTTP请求。
  • 客户端通过HTTP协议的请求,获取服务器上的网页、文档等资源。

如下图所示:

(2)Fiddler工作原理

Fiddler的工作原理,是它在客户端和服务端之间搭建了一层proxy,所有的请求都会经过它。也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器。反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端,所以web客户端和服务器的请求如下图所示:

(3)Fiddler工作原理进阶说明

  • 使用Fiddler的话,需要先设置浏览器的代理地址,才可以抓取到浏览器的数据包。
  • 而方便的是,在你启动该工具后,它就已经自动帮你设置好浏览器的代理了。当关闭Fiddler后,它又将浏览器代理还原了。
  • 当然如果发现没有自动设置浏览器代理的话,那就得自己动手去浏览器进行设置代理操作了,例如火狐浏览器。(可自行百度每个浏览器是如何设置代理的),反正一定要设置相应的代理,否则Fiddler是无法捕获到HTTP请求的。

如下图所示:

进行详细说明:

在Windows系统中,浏览器访问网站时,默认是访问Windows中的系统代理。

而当Fiddler一打开时,就会代替这个系统代理。

在Fiddler点击Tools —> Options... —> Connections选项中

上图说明:

  • Fiddler listens on port:Fiddler监听的端口是8888。
  • Act as system proxy on startup:Fiddler在启动时充当系统代理。

注意:

  • Google浏览器和IE浏览器默认访问的系统代理,Fiddler 就会自动代替。
  • 而火狐浏览器需要自己手动配置。
  • Fiddler监听的端口是可以自定义配置的,1024到65535的端口都可以,只要不冲突即可。

(4)以Google浏览器来演示说明

  1. 打开谷歌浏览器,进入设置页面。
  2. 点击在左上的的三条横线 —> 高级 —> 系统 —> 点击打开代理设置。

  3. 在连接选项中点击局域网设置,可以看到左边代理服务器没有勾选。

  4. 当我们打开Fiddler后,在来查看上面代理服务器的状态,如下:

  5. 在Fiddler点击Tools —> Options... —> Connections选项



    我们可以看到Fiddler端口就是8888。

    这说明Fiddler自动配置了浏览器的系统代理。

4、Fiddler安装

(1)Fiddler许可协议

在安装之前,您必须同意此许可。

(2)选择Fiddler安装目录

(3)点击Install安装

(4)点击Close完成安装

(5)把Fiddler启动文件配置到桌面

Fiddler安装完成后,在桌面是没有快捷启动方式的,需要到Fiddler的安装目录中,把Fiddler.exe文件发送到桌面。

(6)打开Fiddler软件

在打开Fiddler时会有一个弹窗,如下图:

可以自行翻译,选择No即可。

『言善信』Fiddler工具 — 1、Fiddler介绍与安装的更多相关文章

  1. 『言善信』Fiddler工具 — 2、HTTP请求内容详解

    目录 1.HTTP协议介绍 2.使用Fiddler抓取一个请求 3.НТТP请求报文 (1)НТТP请求报文说明 (2)请求行 (3)请求头(Request Header) (4)请求体 4.НТТР ...

  2. 『言善信』Fiddler工具 — 3、Fiddler界面布局详解【菜单栏】

    目录 (一)Fiddler界面布局介绍 (二)菜单栏 1.File文件菜单: 2.Edit编辑菜单: 3.Rules规则菜单: 4.Tools工具菜单: 5.View视图菜单: 6.Help帮助菜单: ...

  3. 『言善信』Fiddler工具 — 4、Fiddler面布局详解【工具栏】

    目录 (一)工具栏详细介绍 1.第一组工具: 2.第二组工具: 3.第三组工具: 4.第四组工具: (二)工具栏使用说明 1.Fiddler修改代理端口: 2.过滤Tunnel to...443请求链 ...

  4. 『言善信』Fiddler工具 — 6、Fiddler界面布局详解【命令行和状态栏】

    目录 1.命令行 2.状态栏 1.命令行 命令行在Fiddler的左下方的黑色窗口,也叫QuickExec,可以调用 Fiddler的内置命令. 这一系列内置的函数用于筛选和操作会话列表中的sessi ...

  5. 『言善信』Fiddler工具 — 15、使用Fiddler抓取HTTPS请求

    目录 1.Fiddler抓取HTTPS过程 2.拓展:SSL/TLS证书握手原理 3.Fiddler抓取HTTPS原理总结 4.Fiddler抓取HTTPS设置 步骤1:配置证书 步骤2:勾选设置 5 ...

  6. 『言善信』Fiddler工具 — 11、Fiddler中Composer功能详解

    目录 1.Composer功能介绍 2.Composer界面说明 3.使用方式 (1)自定义Request请求 (2)Composer重复发送请求 (3)Composer篡改请求数据 1.Compos ...

  7. 『言善信』Fiddler工具 — 17、Fiddler常用插件(Willow)

    目录 1.Traific Difer插件 2.PDF View插件 3.JavaScript Formatter插件 4.CertMaker for iOS and Android插件 5.Synta ...

  8. 『言善信』Fiddler工具 — 5、Fiddler界面布局详解【会话列表】

    目录 1.会话列表说明 2.会话列表不同颜色的含义 3.会话列表图标说明 4.会话列表应用设置 (1)给Fiddler会话列表增加IP列 (2)添加自定义列 (3)添加完成请求时间 (4)其他操作 1 ...

  9. 『言善信』Fiddler工具 — 7、统计选项页详解(Statistics)

    目录 1.Statistics选项页介绍 2.Statistics界面内容说明 3.Statistics选项页底部图表说明 1.Statistics选项页介绍 Statistics 页签显示当前用户选 ...

随机推荐

  1. Hadoop完整搭建过程(三):完全分布模式(虚拟机)

    1 完全分布模式 完全分布模式是比本地模式与伪分布模式更加复杂的模式,真正利用多台Linux主机来进行部署Hadoop,对集群进行规划,使得Hadoop各个模块分别部署在不同的多台机器上,这篇文章介绍 ...

  2. Kubernetes删除一直处于Terminating状态的namespace

    问题现象: 删除namespace,一直处于Terminating,并且用--force --grace-period=0 也删除不了 develop Terminating 4d9h Error f ...

  3. 谈谈react hooks的优缺点

    前言Hook 是 React 16.8 的新增特性.它是完全可选的,并且100%向后兼容.它可以让你使用函数组件的方式,运用类组件以及 react 其他的一些特性,比如管理状态.生命周期钩子等.从概念 ...

  4. kubernetes的架构

    kubernetes架构 k8s的物理结构是master/node模式,架构图如下所示 master一般是三个节点或者五个节点做高可用,根据集群规模来定,master高可用指的是对apiserver做 ...

  5. 从苏宁电器到卡巴斯基第28篇:难忘的三年硕士时光 VI

    想要毕业,还需满足一个要求 像我们这种三年制的工科硕士,想要毕业的话,除了需要按照要求完成毕业论文以外,还需要在相关期刊上发表一篇与毕业论文相关的小论文,或者申请软件著作权,或者申请专利.我不知道别的 ...

  6. ThreadLocal不好用?那是你没用对!

    在 Java 中,如果要问哪个类使用简单,但用好最不简单?我想你的脑海中一定会浮现出一次词--"ThreadLocal". ​ 确实如此,ThreadLocal 原本设计是为了解决 ...

  7. 带你解析MySQL binlog

    前言: 我们都知道,binlog可以说是MySQL中比较重要的日志了,在日常学习及运维过程中,也经常会遇到.不清楚你对binlog了解多少呢?本篇文章将从binlog作用.binlog相关参数.解析b ...

  8. QFNU 10-30 training

    7-9 特立独行的幸福 题意:见PTA 思路:其实就是遍历进行查找,利用递归函数,为了解决是特立独行,还要用一个全局数组进行存储所有满足条件的数进行去重标记,最后在输出的时候进行判断是否是只读取过一次 ...

  9. nginx日志文件按天记录定时清理循环记录

    问题 nginx日志默认记录在一个文件access.log中,时间长了会导致日志文件特别大,甚至磁盘占满. 解决方案 使用以下方法,将access.log文件每天一个,然后清过15天以前的文件. 方法 ...

  10. 初窥软件工程 2020BUAA软件工程$\cdot$个人博客作业

    初窥软件工程 2020BUAA软件工程\(\cdot\)个人博客作业 目录 初窥软件工程 2020BUAA软件工程$\cdot$个人博客作业 一.作业要求简介 二.正文 (一) 快速看完整部教材,列出 ...