一、Fiddler简介

Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求。允许你监视、设置断点、甚至修改输入输出数据。

功能:

  • 监控浏览器网页及 安卓,ios 的APP的所有HTTP/HTTPS流量
  • 查看、分析请求和响应的内容细节
  • 伪造客户端请求和服务器响应
  • 测试网站性能(发起多个请求(注意:该请求是串行的)
  • 解密HTTPS的web会话
  • 全局、局部断点功能(更改请求的参数或者请求的js;更改返回响应的内容)
  • 第三方的插件

使用场景:

  • 接口调试、测试、线上环境调试、web性能分析(可以查看资源大小和时间)
  • 判断前后端bug、开发环境hosts配置、mock数据、弱网断网测试

二、Fiddler的工作原理

Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

fiddler是一个抓包工具,当浏览器访问服务器会形成一个请求,此时,fiddler就处于请求之间,当浏览器发送请求,会先经过fiddler,然后在到服务器;当服务器有返回数据给浏览器显示时,也会先经过fiddler,然后数据才到浏览器中显示,这样一个过程,fiddler就抓取到了请求和响应的整个过程。

三、Fiddler介绍

面板

工具面板

说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助
两种模式
缓冲模式(Buffering Mode)Fiddler直到HTTP响应完成时才将数据返回给应用程序。可以控制响应,修改响应数据。但是时序图有时候会出现异常
流模式(Streaming Mode)Fiddler会即时将HTTP响应的数据返回给应用程序。更接近真实浏览器的性能。时序图更准确,但是不能控制响应。

左侧会话面板

#:HTTP Request的顺序,从1开始,按照页面加载请求的顺序递增。
Result : HTTP响应的状态
Protocol:请求使用的协议(如HTTP/HTTPS)
HOST:请求地址的域名/ip
URL:请求的服务器路径和文件名,也包含GET参数
BODY:请求的大小,以byte为单位
Caching:请求的缓存过期时间或缓存控制header的值
Process:发出此请求的Windows进程及进程ID
Comments :用户通过脚本或者菜单给此session增加的备注
Custom:用户可以通过脚本设置的自定义值

右侧面板

Statistics统计页签

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

inspectors检查页签

它提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息,它分为上下两部分:上部分为HTTP Request(请求)展示,下部分为HTTPResponse(响应)展示

AutoResponse自动响应页签

Fiddler最实用的功能, 它可以抓取在线页面保存到本地进行调试, 大大减少了在线调试的困难, 可以让我们修改服务器端返回的数据, 例如让返回都是HTTP404或者读取本地文件作为返回内容。
可以进行一些极端数据的测试(空数据的响应情况)
使用规则

选择网址,选择要替换的内容

替换效果

Filter

Fiddler命令行工具


可以按照提示进入网站,去看快捷键

常用功能

断点

打开方式一:

打开方式二:
点击一次:请求前断点
点击两次:响应前断点
点击三次:取消断点
通过断点篡改客户端提交的数据和服务器响应的数据。

弱网测试:


其中开启弱网限速后,系统会改变网速。(可以用如下方法:通过更改fiddler源码的方式,去自定义网速)

打开Fiddler——> rules——> Customize Rules 在FiddlerScript中找到以下代码

抓包

抓浏览器的http和https的包

浏览器通常可以抓到http的包,但是抓不到https的包,通常需要以下设置:
勾选下图内容(没反应重启fiddler)

抓ios和安卓的包

以Android手机上配置Fiddler工具为主,讲解配置手机抓包过程。

1.配置Android手机

Fiddler配置中Connections中设置允许远程连接和端口号。

2.手机端设置:
手机端与Fiddler工具所在电脑处于同一个网络中。
查看电脑的IP 地址,手机网络代理指定为电脑IP地址;

打开设置 > WLAN > 连接上的 WLAN 设置,点击代理 > 手动,设置主机名为 Fiddler 所在主机的 IP,端口为 Fiddler 监听端口。

安装Fiddler证书; 用浏览器打开证书地址,访问
http://ipv4:8888/,点击页面底部 FiddlerRoot certificate下载证书

打开设置 > 安全>
更多安全设置 > 加密和凭据 > 从存储设备安装,选择下载好的 FiddlerRoot.cer 进行安装。
浏览器打开目标地址,已经可以抓取 HTTPS 包了

注意:

  • 测试完毕,记得关闭代理,否则手机无法上网)
  • 有些情况需要重启fiddler或者手机才行
  • 还有些特殊情况需要把安装的 FiddlerRoot.cer证书设置为信任的才行(具体自行百度)

以上内容参考链接:
https://zhuanlan.zhihu.com/p/102392715
具体也可以去阅读其他文章:
https://www.cnblogs.com/conquerorren/p/8472285.html

【Fiddler介绍】相关推荐

  1. HTTP调试工具:Fiddler介绍一(翻译)

    原文地址为: HTTP调试工具:Fiddler介绍一(翻译) Fiddler工具介绍一 (原文地址:http://msdn.microsoft.com/library/default.asp?url= ...

  2. HTTP调试工具:Fiddler 介绍二

    学习如何通过Fiddler建立一个速度更快的网站.在这篇文章中,我们将使用Fiddler去探究HTTP的性能,缓存,以及压缩. 如果你要是没有安装和配置过Fiddler, 请从文章的第一篇开始. HT ...

  3. HTTP调试工具:Fiddler介绍

    这个工具我已经使用比较长时间了,对我的帮助也挺大,今天我翻译的微软的文章,让更多的朋友都来了解这个不错的工具,也是我第一次翻译文章,不恰当之处请大家大家多多指正. 介绍: 你是不是曾经疑惑过你的web ...

  4. Fiddler教程系列—介绍【必看】

    Title 前言 一.Fiddler简单介绍和界面介绍 1.HTTP和HTTPS 2.Fiddler介绍 3.Fiddler的安装和下载 4.Fiddler界面 5.Fiddler界面介绍(只是简单的 ...

  5. 爬虫从入门到精通(16) |最详细的的Fiddler抓包软件介绍

    提前声明:该专栏涉及的所有案例均为学习使用,如有侵权,请联系本人删帖! 文章目录 一.Fiddler介绍 二.Fiddler抓包简介 2.1简单使用及其字段说明 2.2 Statistics 请求的性 ...

  6. Fiddler的介绍和使用

    fiddler介绍 目录 fiddler介绍 Fiddler官网:https://www.telerik.com/fiddler 1.Fiddler的介绍 2.Fiddler的工作原理 Fiddle的 ...

  7. Fiddler 抓包详细使用教程

    主要抓包工具介绍与对比 (一)Fiddler介绍 (二)Fiddler与其他工具对比 (三)工作原理 (四)下载安装 (五)Fiddler界面概述 1 主菜单说明 2. 快捷菜单说明 3.会话列表说明 ...

  8. Fiddler 安装使用教程

    Fiddler 安装使用教程 1.下载地址  http://www.telerik.com/fiddler 2.fiddler 介绍  Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常 ...

  9. Python网络爬虫实战之Fiddler抓包今日头条app!附代码

    一.Fiddler介绍 1.Fiddler简介 Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的"进出"F ...

最新文章

  1. 深度学习(6)构造简单的神经网络
  2. 拿到淘宝offer后的胡思乱想plus面试总结
  3. 阿米洛键盘取消win_【机械键盘】2020年双十二那些值得购买的机械键盘推荐
  4. 基于jquery多种切换效果的焦点图(兼容ie6)
  5. php抓取运动步数,使用PHP抓取微博数据
  6. Halcon算子翻译——default
  7. 后端学习 - 设计模式与设计原则
  8. java计算器问题反馈,Java开发网 - 求教计算器问题(急~~~)
  9. linux内存换算成b显示,Linux内存管理(下)
  10. 命令行Terminal增加proxy开关
  11. SAS入门 新手必看
  12. 什么软件可以测试电脑显示器坏点,怎么检测液晶显示器亮点、暗点、坏点
  13. python 管道游戏_用Python做flybird游戏
  14. 每月一书(202101):《财富自由之路》-李笑来
  15. Element UI快速入门
  16. java中osend_Java中OIO与NIO的简单区别
  17. 微信账单动态吸顶功能实现逻辑
  18. FTP文件传输协议与部署,包括Linux系统、Windows系统和H3C路由交换设备部署
  19. 2015年 android 白皮书
  20. 用CainAbel进行ARP欺骗和用Wireshark侦测ARP欺骗

热门文章

  1. OpenXLive支持 Windows Phone上的SNS 分享
  2. 转战物联网·基础篇02-物联网中的角儿
  3. 基于核函数加权直方图的Mean Shift目标跟踪 (二维颜色直方图)
  4. C语言基础1:初识C语言(转义、注释;数组、操作符、反码、补码、static、define、指针、结构体常变量;局部变量;作用域、生命周期)
  5. sql查询in条件超过1000条解决方案
  6. PCIE Feature ------ INTx
  7. 字符型指针,数组,字符串赋值
  8. 高级计算机工程师查询,高级工程师证书查询网站
  9. winfrom 实现条形码批量打印以及将条形码信息生成PDF文件
  10. 【Java-Java集合】Java集合详解与区别