Fiddler使用方法小结

2023-10-27

Fiddler基本使用

简介:

       Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。


Fiddler原理示意图

Fiddler主界面介绍:

       启动fiddler,我们就会看到该软件的主界面,软件窗口大体可以分为六大部分:菜单栏、工具栏、会话列表、命令行工具栏、HTTP Request显示栏、Http Response显示栏。让你在捕获数据的时候一目了然。


用途:

1.抓包工具

       能支持http代理的任意程序都能被fiddler捕获到,由于fiddler的运行机制就是监听本机上的8888端口的http代理,所以我们只需要将需要抓包的程序连接到fiddler代理服务上就可以了。

1.1修改Host:

       Fiddler很重要的一个作用就是作为代理,可以起到修改Host的效果。这个对于测试,特别是无线设备不方便Root的情况。显得十分方便。具体操作:点击【Tools】—【Hosts】,在弹出的新窗口中,选中填写需要设置的Host,,点击OK就操作成功了。


1.2.浏览器抓包:

       一般情况下,fiddler会自动修改IE浏览器的设置,捕捉到IE浏览器的搜有通讯。其他浏览器需要手动设置,点击浏览器【工具】—【Internet选项】—【连接】—【局域网设置】,再点击代理服务器的【高级】按钮,将HTTP代理服务器地址改为127.0.0.1:8888。


当然,你也可以直接将fiddler设置为系统代理,那么在浏览器中设置使用系统代理设置就可以了。首先,将fiddler设置为系统代理,打开fiddler,点击【tools】->【FiddlerOptions】->【Connections】,点击设置为系统代理,操作如下图:


然后在浏览器中设置使用系统代理即可。


默认情况下,fiddler是不会捕捉Https的请求,需要手动设置一下。启动软件,点击【Tools】—【fiddler Options】,在弹出的新窗口中,点击HTTPS选项卡,将捕获HTTPS连接这一选项前面全打上勾,点击OK就操作成功了。如下图所示:


现在,我们就可以打开浏览器访问网页,然后在Fiddler里查看捕捉到的请求了。


1.3.手机抓包:

       利用Fiddler进行手机抓包的时候,要先查看本地的IP地址以及在fiddler里面设置端口号。然后勾选允许远程设备连接。点击OK就可以了。然后打开手机在手机的连接设置中设置代理地址和端口号,然后打开浏览器输入:“IP:端口号”下载安装证书(如果是苹果手机的话,要使用系统自带的浏览器才可以),就可以就可以使用fiddler进行手机抓包了。

具体流程如下:


设置端口号:


打开android设备的“设置”->“WLAN”,找到你要连接的网络,在上面长按,然后选择“修改网络”,弹出网络设置对话框,然后勾选“显示高级选项”。




2.Web断点调试

      Fiddler支持断点调试概念,当你在软件的菜单—rules—automatic breakpoints选项选择beforerequest,或者当这些请求或响应属性能够跟目标的标准相匹配,Fiddler就能够暂停Http通讯,允许修改请求和响应。这种功能对于安全测试是非常有用的,当然也可以用来做一般的功能测试。通过设置断点,Fiddler可以做到:

1. 修改HTTP请求头信息。例如修改请求头的UA, Cookie, Referer 信息,通过“伪造”相应信息达到达到相应的目的(调试,模拟用户真实请求等)。

2. 构造请求数据,突破表单的限制,随意提交数据。避免页面js和表单限制影响相关调试。

3. 拦截响应数据,修改响应实体。

       为什么以上方法是重要的?假设js前端程序员和服务器程序员是分工合作的,js程序员想要调试Ajax请求的功能,这样便不必等待服务器端程序员开发好所有接口之后再开始开发js端的ajax请求功能,因为通过“模拟”真实的服务器端的响应,便可以保证功能的正确性,而服务器端开发程序员,只要保证最终的响应是符合规定的即可。这大大简化了程序开发的效率,当然也降低了不同业务线程序员联调的难度。

有两种方法设置断点:

1.fiddler菜单栏->rules->automatic Breakpoints->选择断点方式,这种方式下设定的断点会对之后的所有HTTP请求有效。

有两个断点位置:

       a. before response。也就是发送请求之后,但是Fiddler代理中转之前,这时可以修改请求的数据。

       b.after response。也就是服务器响应之后,但是在Fiddler将响应中转给客户端之前。这时可以修改响应的结果。

2.命令行下输入。Bpafter xxx或者bpv,bpu,bpm等设置断点。这种断点只针对特定类型的请求。

3. fiddler中创建AUTOResponder规则:

       设置AUTOResponder规则的好处是允许你从本地返回文件,而不用将http request发送到服务器上。我们就以访问携程酒店酒店详情页页为例说明一下该功能的用法。

 1) 打开携程酒店详情页,fiddler中找到该会话,右击在选项卡中选择保存响应, 把响应保存到本地,对响应中的元素进行修改,如将酒店名修改成“携程测试”。

 2) 打开fiddler找到刚才我们的会话,然后点击软件右边的自动响应选项卡,在"Enable authomatic reponses"和"permitpassthrought unmatched requests"前面都打上勾,将会话拖到"自动响应"列表框中,或者点击增加规则将会话添加到自动响应的列表中。

 3) 在右下角的RuleEditor的第二个文本框选择"Find a File……",然后选择本地保存的文件,点击"SAVE"按钮保存就可以了。


  4) 我们再次打开刚才访问的酒店详情页,注意酒店名称已经变成我们所修改的“携程测试”了。

3.前后端接口调试

接口测试的原理我理解很简单,是你发送数据,看返回数据是否正确,返回值类型是否正常,主要点是多种数据的,返回结果正常。操作的流程也很简单,点击fiddler的Composer选项卡,选择接口访问方式,填写接口访问地址。并添加请求参数。点击执行,就可以去Inspectors 页签查看响应结果。也可以在options面板中,将 Inspect Session 打勾后,就能发出请求,并自动切换到 Inspectors 页签查看响应结果。





4.页面性能优化和分析:

       Fiddler的统计选项卡中显示了当前Session的基本信息,在选项卡的最上方显示的是文本信息,最下方是个饼图,按MIME类型显示流量。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。

       选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化。




以上就是Fiddler一些常用的功能介绍,更多功能请参考Fiddler使用手册,欢迎指正补充。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Fiddler使用方法小结 的相关文章

  • android 中SQLiteDatabase的使用

    官方介绍 Android provides full support for SQLite databases Any databases you create will be accessible by name to any class
  • tamcat服务器的项目配置,服务器配置tomcat部署项目

    部署项目首先你需要把你的java web项目打包成war文件 在需要打包的项目上右键 gt 选择 Export 选中 Web 下面的 WAR file 点击 Next 通过 Browse 选择保存路径 点击 Finish 完成即可 然后在服
  • osgEarth的Rex引擎原理分析(一二二)着色器程序的opengl过程

    目标 一二一 中问题208 1 创建着色器程序glCreateProgram 2 创建着色器glCreateShader 如果有多个着色器 比如多个顶点 多个片段着色器 多个情况下只有一个有main函数 2 4三步需要执行多次 3 上传着色
  • 10.Xaml ListBox控件

    1 运行界面 2 运行源码 a Xaml 源码
  • shell执行curl_Linux Shell脚本编程--curl命令详解

    用途说明 curl命令是一个功能强大的网络工具 它能够通过http ftp等方式下载文件 也能够上传文件 其实curl远不止前面所说的那些功能 大家可以通过man curl阅读手册页获取更多的信息 类似的工具还有wget curl命令使用了
  • ubuntu18.04 安装NVIDIA3080ti 显卡驱动及SSH服务和用户添加

    主要参考的这篇博客https blog csdn net weixin 46203866 article details 119425999 spm 1001 2014 3001 55061 显卡驱动下载 下载nvidia驱动程序 RTX
  • PRD 发布报表(2)

    发布报表 发布到bi Server 1 首先启动bi Server 这个在我其他的博文中已经有记述 可以参考 Pentaho学习笔记 bi Server配置 2 然后在PRD中如下图所示 选择发布 注意填写bi Server的账号和密码 选
  • 长篇图解java反射机制及其应用场景

    一 什么是java反射 在java的面向对象编程过程中 通常我们需要先知道一个Class类 然后 new 类名 方式来获取该类的对象 也就是说我们需要在写代码的时候 编译期或者编译期之前 就知道我们要实例化哪一个类 运行哪一个方法 这种通常
  • 中国的官办经济-陈经

    这本书写的不错 从建国到2006年的中国的经济进行了梳理 说明了到底为何中国的经济具有这么大的竞争力 我深深认可其中对于中国人民勤劳 勇敢的描写 经济嘛 就是干活创造价值 中国人民是世界上最勤劳的民族 如果没有走错了 如闭关锁国 一定会跟上
  • Google语法

    目录 Google语法 搜索语法 intitle inurl intext link site filetype related 通配符 注意 快照 cache 举例 Google语法 总结一下平时经常用到的搜索引擎语法 基本都适用于百度搜
  • 项目上传svn 服务器

    1 选中项目右键到 team gt share Project 2 进入到选择界面 选择svn 进入下一个界面 现在可以看到的界面是要选择共享资源的地址了 如果之前已经共享过就会保存在下面了 没有的话我们就自己创建新的资源位置 就是第一个选
  • Blender基础:UV编辑器、UV坐标、UV映射、UV展开

    目录 1 纹理 2 UV编辑器 3 UV坐标 4 UV映射 5 UV展开 6 纹理绘制 7 自动UV展开 8 手动UV展开 9 UV布局调整 10 练习 弯曲文字 1 纹理 纹理Texture 又叫贴图 一般来说 物体的表面不是纯色的 由贴
  • springboot 定时任务(线程配置,并行【同步】、异步等)

    1 定时任务实现方式 SpringBoot自带的Scheduled 可以将它看成一个轻量级的Quartz 而且使用起来比Quartz简单许多 本文主要介绍 执行方式 单线程 串行 多线程 并行 2 创建定时任务 Component Enab
  • 【云原生之Docker实战】使用Docker部署StackEdit在线Markdown编辑器

    云原生之Docker实战 使用Docker部署StackEdit在线Markdown编辑器 一 StackEdit介绍 1 StackEdit简介 2 StackEdit中文版简介 3 StackEdit中文版功能 二 检查本地Docker

随机推荐

  • 关于linux /etc/sysconfig/network中的NOZEROCONF=yes参数

    关于linux etc sysconfig network中的NOZEROCONF yes参数 今天从CSSD Fails to Join the Cluster After Private Network Recovered if ava
  • 【算法研究】Bresenham画线算法

    作者 gnuhpc 出处 http www cnblogs com gnuhpc 0 算法目的这个算法是要画一条平滑的直线 这个工作的难点是确定两点之间的那些像素点 使其近可能的靠近手工绘制的直线 1 基本算法描述现在我们要在一个光栅格子上
  • Django独有报错

    You called this URL via POST but the URL doesn t end in a slash and you have APPEND SLASH set Django can t redirect to t
  • vcruntime140.dll文件下载安装方法以及一些注意事项

    其实vcruntime140 dll文件是Microsoft Visual C Redistributable Packages for Visual Studio 2015中的一个重要组件 它包含了Windows操作系统和其他应用程序所需
  • 加拿大见!拓数派受邀参加第17届PostgreSQL国际开发者大会(PGCon 2023)

    5月30日 6月2日 作为疫情后的第一场线下会议第17届 PostgreSQL 国际开发者大会 PGCon 2023 将在加拿大渥太华隆重举行 拓数派将作为黄金赞助商 受邀参与本次盛会 与全球数据库爱好者们共聚加拿大 此外 拓数派 PieC
  • 由“2013软考之不完美结果”来剖析自己的学习方式误区

    2013年5 25日的软考 昨天晚上可以查成绩了 当时同学走到我面前让查成绩时 心开始跳了 手开始抖了 那一刻的紧张 那一刻的激动 既担心又想知道结果 别急别急 成绩看到了 不高 上午50 下午45 也就是说按百分制算的话 下午只考了60分
  • VScode 安装 ESP-idf 5.0报错:LookupError: unknown encoding: utf-8,gbk

    原因 说明从 pip 源返回的是 utf 8 gbk 编码类型 但是 pip 不能解析 请求了一下 pip 源后发现确实如此 尝试更新 pip python m pip install upgrade pip 但也会报同样的问题 这是因为镜
  • 服务器不能全屏显示,远程服务器如何全屏显示

    远程服务器如何全屏显示 内容精选 换一换 本节操作介绍在Windows和Linux环境中使用SSH密码方式远程登录Linux云服务器的操作步骤 弹性云服务器状态为 运行中 弹性云服务器已经绑定弹性公网IP 绑定方式请参见绑定弹性公网IP 所
  • firemonkey开发通讯录app

    1 添加AddressBook1 MultiView1 speedbuttonX3 labelX editboxX3 buttonX2 listbox组件 2 对listbox右键additem选择tsearchbox类型 3 设置Mult
  • Jlink SWD和Jtag下载失败总结

    学习STM32或者说使用Jlink的同学都有很多的困扰 我把自己遇到的情况总结一下 并给出解决方法 希望后来人少走点弯路 第一次写博客 勿喷 一 提示No Jlink Device Found 错误 没有发现Jlink 可能原因 1 Jli
  • 函数式编程总结

    函数式编程的概念 函数式编程理念来自于数学中的函数 函数的概念 对于两个变量x和y 如果每给定x的一个值 都有一个y值与之对应 那么我们就说y是x的函数 如下即是一些函数 f x 5x 2 4x 3 g x 2f x 5 10x 2 8x
  • cmath常用库函数

    cmath int abs int i double fabs double x long labs long n double exp double x double log double x double pow double x do
  • KVM 性能调优

    CPU Tuning Cache share tuning 对于物理 CPU 同一个 core 的 threads 共享 L2 Cache 同一个 socket 的 cores 共享 L3 cache 所以虚拟机的 vcpu 应当尽可能在同
  • 深度学习日记

    一 基于连续帧排序的语言分割 BubbleNets Learning to Select the Guidance Frame in Video Object Segmentation by Deep Sorting Frames 论文地址
  • cmd命令行如何快速进入当前目录

    我们在cmd命令行中如果想要进入某一个目录 相信大家一般都是先按D 或者E 进入相应的盘符 然后再输入cd 当前目录 以下有两种快捷方式可以进入当前目录 1 部分绿色windows版本可以支持以下操作 按住shift 鼠标右键 即可看见 在
  • 华为机试HJ8 合并表记录

    HJ8 合并表记录 Python 题目 解题思路 代码 结果 题目 解题思路 1 题目中没有说有多组输入 不考虑循环 2 结果列表先初始化 3 键值对的处理简单 合并按位置加和即可 4 要记录出现过的键 最后输出要决定显示哪些键值对 代码
  • STM32学习之SHT20温湿度传感器

    一 产品综述 SHT20 新一代 Sensirion 湿度和温度传感器在尺寸与智能方面建立了新的标准 它嵌入了适于回流焊的双列扁平无引脚 DFN 封装 底面 3 x3mm 高度 1 1mm 传感器输出经过标定的数字信号 标准 I 2 C 格
  • LAMP平台部署及论坛搭建

    部署LAMP平台实验 一 编译安装APACHE 1 准备工作 2 解压到opt目录 3 将解压好的apr文件放到httpd源码文件代码库中 4 配置Apache 5 make编译安装 6 优化httpd服务执行方式需要先优化路径 7 设置系
  • Error: Unable to execute “/usr/bin/vmware-uninstall-tools.pl.终极解决方案

    如何快速安装VMware Tool 可以参考这篇文章 https allen5g blog csdn net article details 102759282 Error Unable to execute usr bin vmware
  • Fiddler使用方法小结

    Fiddler基本使用 简介 Fiddler是一个http协议调试代理工具 它能够记录并检查所有你的电脑和互联网之间的http通讯 设置断点 查看所有的 进出 Fiddler的数据 指cookie html js css等文件 这些都可以让