Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。
Fiddler:译名—小提琴手,由Eric开发,曾就职微软。
Fiddle支持多个平台的版本:

由于fiddler是基于.net开发的,所以在windows平台下支持的功能更多, 在IOS\Linux的支持会相对少。

fiddler 由于官网在国外,下载时间很长还需要翻墙,目前国内有引进,可以在电脑管家中下载安装。

win8 系统之前用 “Fiddler for.NET2”
win8 系统之后用 “Fiddler for.NET4”

Mac/Linux Fiddler 下载地址:
Windows Fiddler 下载地址
类似工具

功能:
1、能够监听 http/ https 的流量,可以截获从浏览器或者客户端软件向服务器发送的 http/ https 请求;
2、对截获之后的请求,我们还能够查看请求中的内容;
3、伪造请求。不仅可以伪造客户端的请求,还能够伪造服务器的响应(方便我们进行前后端的调式);
4、测试网站的性能;
5、解密https的外部会话。因为https本身是一种加密的协议,通过fiddle我们可以进行解密操作;
6、提供第三方扩展插件,满足更多需求。

代理模式:
流模式与缓冲模式

流模式:fiddler会实时把服务器返回给客户端的数据进行返回。

缓冲模式:fiddler会等待所有的请求都准备好之后才返回给客户端。

区别:
缓冲模式下可以控制最后的服务器响应;
流模式下不能控制,是什么就是什么,更接近浏览器本身的真实行为。

使用场景

1、开发环境的host配置;
2、前后端接口连调——Composer;
3、定位线上bug——将发布文件代理到本地,快速定位线上bug;
4、性能分析和优化——Inspectors 、Timeline。

界面及使用

Fiddler想要抓到数据包,要确保Capture Traffic是开启
File –> Capture Traffic 开启后再左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。


工具栏详细介绍

名称 含义
# 抓取HTTP Request的顺序,从1开始,以此递增
Result HTTP状态码
Protocol 请求使用的协议,如HTTP/HTTPS/FTP等
Host 请求地址的主机名
URL 请求资源的位置
Body 该请求的大小
Caching 请求的缓存过期时间或者缓存控制值
Content-Type 请求响应的类型
Process 发送此请求的进程:进程ID
Comments 允许用户为此回话添加备注
Custom 允许用户设置自定义值
图标 含义
请求已经发往服务器
已从服务器下载响应结果
请求从断点处暂停
响应从断点处暂停
请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)
请求使用 HTTP 的 POST 方法
请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道
响应是 HTML 格式
响应是一张图片
响应是脚本格式
响应是 CSS 格式
响应是 XML 格式
响应是 JSON 格式
响应是一个音频文件
响应是一个视频文件
响应是一个 SilverLight
响应是一个 FLASH
响应是一个字体
普通响应成功
响应是 HTTP/300、301、302、303 或 307 重定向
响应是 HTTP/304(无变更):使用缓存文件
响应需要客户端证书验证
服务端错误
会话被客户端、Fiddler 或者服务端终止

Statistics 请求的性能数据分析
随意点击一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析了

Inspectors 查看数据内容
Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容:

AutoResponder 允许拦截指定规则的请求
AutoResponder允许你拦截指定规则的求情,并返回本地资源或Fiddler资源,从而代替服务器响应。

Composer 自定义请求发送服务器
前后端接口连调Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求

Post请求:参数写在Request Body里面。

我们还能够伪造Request Header中的Cookie。

Parsed模式下你只需要提供简单的URLS地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent)

Filters 请求过滤规则
网络限速FiddlerScript——测试在不同网络下的请求运行状况
Fiters 是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,你刷新一下浏览器,一大片不知道哪来请求,看着碍眼,它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求。

勾选左上角的Use Filters开启过滤器,这里有两个最常用的过滤条件:Zone和Host

1、Zone 指定只显示内网(Intranet)或互联网(Internet)的内容:

2、Host 指定显示某个域名下的会话:

OnBeforeRequest()表示在发送一个请求时需要做什么。


添加代码:

oSession[“resquest-trickle-delay”]=”3000”;//表示延时3秒请求;
oSession[“response-trickle-delay”]=”3000”;//表示延时3秒响应;

Timeline 请求响应时间
在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间:

  1. Fiddler 设置解密HTTPS的网络数据

Fiddler可以通过伪造CA证书来欺骗浏览器和服务器。Fiddler大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。

1、解密HTTPS需要手动开启,依次点击:

Tools –> Fiddler Options –>  HTTPS


2. 勾选Decrypt HTTPS Traffic

3. 点击OK

常用功能
HOST配置 -将线上的服务器IP配置为指向本地服务器IP。将线上所有的文件的地址都映射到本地。

1、文件替换\线上bug调式——AutoResponder

(1)可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者得到的是Fiddler的内置响应。
因此,如果要调试服务器的某个脚本文件,可以将该脚本拦截到本地,在本地修改完脚本之后,再修改服务器端的内容,这可以保证,尽量在真实的环境下去调试,从而最大限度的减少bug发生的可能性。

(2)不仅是单个url,Fiddler支持多种url匹配的方式:

I. 字符匹配
如 example可以匹配 http://www.example.com和http://example.com.cn

II.完全匹配 以EXACT开头表示完全匹配,
如上边的例子 EXACT:http://blog.csdn.net/ohmygirl

III. 正则表达式匹配
以regex: 开头,使用正则表达式来匹配URL

如:regex:(?insx).*.(css|js|php)$

表示匹配所有以css,js,php结尾的请求url

(3)、操作——模拟
http://cn.babybus.com/join/index_campus.shtml下的function_campus.js文件

欢迎点赞、关注和评论、一键三连哦!
如果你也是技术宅,如果你也对技术渴望提升,那么我们是同一类人,欢迎大家关注我的个人公众号,我们一起进步吧!
如果对你有帮助,赞赏也是对我最大的支持。

Fiddler 抓包工具使用详解相关推荐

  1. fiddler抓包工具配置详解

    没有解决不了的问题,只是没有找到合适的方法 fiddler官网 https://www.progress.com/ 官网下载fiddler  https://www.telerik.com/downl ...

  2. Linux下抓包工具tcpdump详解

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  3. 抓包工具Fidder详解(主要来抓取Android中app的请求)

    $*********************************************************************************************$ 博主推荐 ...

  4. Linux抓包工具tcpdump详解

    原文链接 tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具. ...

  5. oracle 抓包工具,【转】抓包工具Wireshark详解(抓取IOS中APP的请求)

    出处:http://blog.csdn.net/mad2man/article/details/17929345 本文用例的需求是:抓取iOS浏览器的html数据包. 手头有连着网线的iMac一台(M ...

  6. 计算机网络抓包工具——tcpdump详解

    目录 一.tcpdump是什么? 二.tcpdump里常用参数 1.可接的选项 2.type类过滤器[参数] 一.tcpdump是什么? tcpdump是Linux里的字符界面的数据抓包分析软件.tc ...

  7. 超级详细的Linux抓包工具tcpdump详解!

    简介 tcpdump 是Linux下一款命令行抓包程序,使用 tcpdump 之前,可以先看一下它提供的帮助. tcpdump 官方文档手册:https://www.tcpdump.org/manpa ...

  8. Fiddler抓包:详解Fiddler抓包工具软件使用教程

    为什么要先学fiddler?学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始.结合抓包工具讲http协议更容易学一些. 抓firefox上https ...

  9. 全网最详细的Python+Requests接口测试教程:Fiddler抓包工具

    本篇涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容. 文章是针对零基础入门接口测试和py ...

最新文章

  1. 测试计划和自动化测试思考
  2. linux下oracle数据库服务和监听的启动停止
  3. 《2020总结-2021展望》
  4. QT之error: cannot bind non-const lvalue reference of type ‘CBaowen’ to an rvalue of type ‘CBaowen
  5. 麒麟操作系统|Linux下低延时RTMP|RTSP直播播放实现
  6. Facebook产品更新,官方通知你收到了吗?
  7. 10 亿产业基金加持,让精准定位在物联网应用中实现无限可能!
  8. 领英动态和文章如何发布才能更好的带来询盘?
  9. PHP 手机号码运营商判断2022年最新号段
  10. 初玩《剑与家园》体验和对游戏设计的一些思考
  11. mysql高级教程(一)
  12. 入门UVM验证方法学
  13. LaTex如何自动生成参考文献
  14. 【开发随记】【提效】工作习惯那些事系列之二——TOP3
  15. 使用计算机的目标要求,【热门】计算机教学计划三篇
  16. Android 启动系统相机,相册,裁剪图片及6.0权限管理
  17. references column 'xxx' which is not in SELECT list
  18. 2009北海市东盟杯导游大赛结束,各奖项名花有主-渤锐软件提供了相关的软件支持
  19. 【机器视觉】整合:机器视觉基础知识汇总
  20. 小米技术分享:Mysql数据实时同步实践

热门文章

  1. connect() failed (111 Connection refused) while connecting to upstream
  2. 女生适合从事什么工作?程序员!
  3. html怎么搞一个微信图标,怎样在微信名字添加图标和微信名字里怎么加表情?什么系统都可以...
  4. dedecms模板定制之如何自定义标签
  5. 如何解决“Component ‘MSCOMCTLOCX‘ or one of its dependencies .....“
  6. 都快2021年了,居然还有数据分析师不会MECE
  7. 镭速传输流量版:随时开启企业大数据加速传输超能力
  8. Oracle错误12154的解决方法
  9. #VMware#ESXI ESXI虚拟机安装
  10. 新疆伊犁山开挖破裂机液压岩石劈裂棒 大型岩石分裂棒行业推荐