Web调试利器fiddler介绍

简介:        最近在使用fiddler,发现这个真是非常最犀利的web调试工具,笔者这里强烈推荐给大家;fiddler不管是对开发还是测试,还是产品;都是不可多得的工具;开发用来抓包定位问题; 测试用来抓包,回放测试记录,构造发包用例。

       最近在使用fiddler,发现这个真是非常最犀利的web调试工具,笔者这里强烈推荐给大家;fiddler不管是对开发还是测试,还是产品;都是不可多得的工具;开发用来抓包定位问题; 测试用来抓包,回放测试记录,构造发包用例。产品用来抓包记录现场。
      

在介绍这一利器之前,我们先瞻仰一下他的作者Eric Eric目前就职于微软。。fiddler最新版本下载地址http://fiddler2.com/get-fiddler

相信很多人遇到和笔者类似的经历,好不容易找到个破解版本的httpwatch,却该版本发现其不支持chromefirefox。或者想要构造发包请求,却又要换到firefox,因为firefox有比较多得这样插件。另外想要抓起手机获取其他平台如MAC,目前同类型的工具中,比较少有会对其全面兼容支持。

所以笔者推荐这款fiddler工具,主要看中其三点优势:1、功能强大,其他工具有的功能它也有,其他工具没有的功能它也有,支持httphttpsftp等协议;2、完全免费,长期免费。3、所有的浏览器可以使用,所有的平台都可以使用。就冲着这三点,就值得拥有。

Fiddler功能太多,本人也只是在平时工作用用到他的部分功能,也没有深入全面的研究,这篇文字只是抛砖引玉,有兴趣的可以全面仔细的研究该工具。本文主要内容介绍工作中常用的五个常用功能点:

1、 用fiddler 抓http(s)的包,保存,回放。

2、 使用fiddler配置host

3、 查看每次请求的IP

4、 使用fiddler构造请求Post包。

5、 使用fiddler的统计功能,观察server性能;

6、使用fiddler中断功能,进行调试跟踪


 

在介绍fiddler使用方法之前,我想先介绍一下fiddler原理,明白原理后,使用起来会更得心应手。
    

      由上图可以看出, Fiddler 使用代理方式,让客户端所有数据流都发给它,然后有钱转发给目标 server ,目标 server 的回包发给 fiddler ,再由 fiddler 转发给客户端。所以不管是 Request 还是 Respone 数据包都经过了 fiddler fiddler 能进行截获和分析。正是他这样架构优势,才有其其他工具无法做到的强大功能,其不光是支持这些 IE, Chrome, Safari, and Opera 浏览器的抓包,还支持一些客户端的 http(s) 抓包,前提是这些 client 支持 http 代理配置。
    
   
   先介绍一下
Fiddler 界面布局介绍:
     



      

1、 抓包,保存,回放

启动fiddler,不需要对浏览器做任何配置,自动开启了抓包的功能,fiddler状态栏是开启开关,值得一提的是fiddler做的比较人性化,启动时候自动配置浏览器的proxy项。在Tools-》WinNet Options这里可以查看,也可以在IE选项里面查看。fiddler在退出的时候自动关闭


 

     另外我们一般情况下不需要看所有的http请求,需要过滤抓到的包:根据需要对url关键字或内容关键字进行过滤,这里就需要使用filter配置了
       

   

    保存或记录:选择左侧栏的session;然后File-Save保存,fiddler使用.saz文件扩展名

    回放:选择file –load archive;点击工具栏replay,回放;

2、 使用fiddler配置host

这个功能主要作用就是不需要每次配置hosts都到windows目录下去修改hosts文件;可以直接方便在fiddler界面里面配置即可;方便快速的配置自己的测试host。

3、 查看每次请求的server ip 和端口
  我们知道,每个域名会对应多个ip,我们一般不能直接看出这次请求是发到那台机器上去了,yng每次分配请求ipdns轮询的,有时候想要确定请求是发到哪个机器上。Fiddler支持脚本开发功能,扩展自定义菜单。这里使用脚本加上显示ip的功能。


修改完后,重启fiddler;抓包,选择一条session,右键选择Properties,这样就会打开一个记事本,里面有X-HOST指示server的IP,如下图:


如果觉得每次点击打开一个记事本比较麻烦,还可以把IP显示在Session列里面,按照下面步骤去配置
 
Step1 :打开菜单Rules-customize Rules; 打开CustomRules.js;
 
Step2 :查找” var m_AlwaysFresh: boolean = false;”这一行;添加这段代码      

  1. public static RulesOption("Show Server IP", "Per&formance")
  2.                  var m_ShowServerIP: boolean = false;
  如图
  step3 :找到 OnBeforeResponse 函数,添加下面这段代码
 
  1. if (m_ShowServerIP){
  2.                 oSession['ui-customcolumn'] += ' ' + oSession.m_hostIP;
  3.             }
   如图所示

   Step4 :配置完后,重启 fiddler ,打开 Rules- Performance- show server IP ;可以看到每个 request ip
  

4、 使用Fiddler构造Http请求Post包。

开发的时候有时候想测试Post的接口,但是无法使用浏览器测试,因为浏览器只能输入GET请求;所以经常需要自己写一些代码或使用firefox一些插件来完成post请求动作;现在有fiddler横空出世,这一切都不再是问题。使用composer构造Post请求,点击execute发送请求,如下图

5、 使用fiddler统计功能,能统计数据量,按host统计请求数,一个请求从连接到收发包,关闭各个阶段的时间统计,这些数据对优化网站,分析性能非常有帮助;


6、 使用fiddler调试中断功能

这个功能可以在数据包发送之前,修改请求参数;在收到应答包,在js解析和浏览器渲染之前,修改返回结果。有了这个功能,开发者就可以修改不同参数测试server,同时也可以修改返回包测试自己的js函数,或测试页面渲染。使用者功能要用到fiddler的命令行。因为这个菜单里面是中断所有的请求

如果我们要中断某个cgi的请求,就使用命令行,命令行的介绍请参考http://fiddler2.com/documentation/KnowledgeBase/QuickExec譬如我们要调试CU网站,可以输入 bpu www.chinaunix.net. 中断请求

   
       querystring 里面修改请求参数,  如果要中断应答 则使用 bpafter

 

PSfiddler最强大的功能还是其FiddlerScrip功能,这块还没有做过研究,后续在深入研究一下。语法请参考http://fiddler2.com/documentation/KnowledgeBase/FiddlerScript









目录
相关文章
|
2月前
|
Web App开发 Android开发
利用firefox调试安卓手机端web
该教程详细介绍如何通过Firefox浏览器实现手机与电脑的远程调试。手机端需安装最新版Firefox,并按指定步骤设置完成;电脑端则需安装15版及以上Firefox。设置完成后,通过工具栏中的“远程调试”选项,输入手机IP地址即可连接。连接确认后,即可使用电脑端Firefox调试器调试手机上的Web信息。注意,调试前手机需提前打开目标网页。
84 2
|
4月前
|
存储 JSON 监控
FastAPI日志之谜:如何揭开Web应用监控与调试的面纱?
【8月更文挑战第31天】在现代Web开发中,日志记录对于监控应用状态、诊断问题和了解用户行为至关重要。FastAPI框架提供了强大的日志功能,使开发者能轻松集成日志记录。本文将详细介绍如何在FastAPI中设置和利用日志,包括基础配置、请求响应日志、错误处理和结构化日志等内容,帮助提升应用的可维护性和性能。
162 0
|
4月前
|
开发者 Python
神秘编程世界惊现强大调试法宝!FastAPI 究竟藏着怎样的秘密?带你解决 Web 应用问题大揭秘!
【8月更文挑战第31天】在 Web 应用开发中,调试至关重要,有助于迅速定位并解决问题,确保应用稳定运行。不同于传统框架依赖打印日志和手动检查代码的方式,FastAPI 作为现代 Python Web 框架,提供了内置开发服务器和自动重载功能,极大提升了开发效率。结合 Python 调试器,开发者可通过设置断点来逐步执行代码,直观精确地观察变量值与执行流程,快速定位问题。此外,FastAPI 还提供详细错误信息和日志记录,帮助开发者更高效地解决应用问题,提升应用质量。
38 0
|
4月前
|
移动开发 开发框架 小程序
开发H5程序或者小程序的时候,后端Web API项目在IISExpress调试中使用IP地址,便于开发调试
开发H5程序或者小程序的时候,后端Web API项目在IISExpress调试中使用IP地址,便于开发调试
|
5月前
|
Web App开发
软件开发常见流程之移动端调试方法,利用Chrome(谷歌浏览器)的模拟手机调试,搭建本地Web服务器,手机和服务器在一个局域网,通过手机访问服务器,使用服务器,利用ip实现域名访问
软件开发常见流程之移动端调试方法,利用Chrome(谷歌浏览器)的模拟手机调试,搭建本地Web服务器,手机和服务器在一个局域网,通过手机访问服务器,使用服务器,利用ip实现域名访问
|
7月前
|
JSON 监控 安全
LabVIEW测试和调试Web服务
LabVIEW测试和调试Web服务
156 1
|
应用服务中间件
idea 调试报错 Illegal access: this web application instance has been stopped already.
idea 调试报错 Illegal access: this web application instance has been stopped already.
155 0
|
7月前
|
安全 Linux iOS开发
【热门话题】 Fiddler:一款强大的Web调试代理工具——安装与使用详解
Fiddler是一款强大的Web调试工具,适用于Windows、macOS和Linux,用于捕获、记录和分析HTTP/HTTPS流量。本文详细介绍了Fiddler的安装步骤,包括下载、安装和配置,特别是信任根证书和代理设置。在使用方面,讲解了如何启动/停止捕获流量、查看和管理会话,以及重发请求、编辑请求/响应和清除会话。此外,还探讨了进阶功能,如自定义过滤规则、使用AutoResponder模拟服务器响应、性能分析和统计,以及插件扩展和脚本编写。Fiddler是学习HTTP协议和解决Web问题的得力工具。
325 1
|
开发框架 .NET C#
Visual Studio Code调试和发布ASP.NET Core Web应用
Visual Studio Code调试和发布ASP.NET Core Web应用
170 0
|
JSON JavaScript 数据格式
浏览器中调试web你知道吗?
这件事开始是在6个月以前吧,看到大牛在浏览器中调试web,通过前一段时间的运用证实了自己当时看到之后没有立刻将这种浏览器调试web的方式运用到自己的编程中来的那种愚昧,同时也体现出来自己思维中欠缺的东西,并挖掘出禁锢自己将来发展的力量。