Fiddler是最强大最好用的Web调试工具之一--网站抓包分析

news/2024/5/9 15:39:50/文章来源:https://blog.csdn.net/dbkahhs97022/article/details/101596375

Fiddler 教程

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。

阅读目录

  1. Fiddler的基本介绍
  2. Fiddler的工作原理
  3. 同类的其它工具
  4. Fiddler如何捕获Firefox的会话
  5. Firefox 中使用Fiddler插件
  6. Fiddler如何捕获HTTPS会话
  7. Fiddler的基本界面
  8. Fiddler的统计视图
  9. QuickExec命令行的使用
  10. Fiddler中设置断点修改Request
  11. Fiddler中设置断点修改Response
  12. Fiddler中创建AutoResponder规则
  13. Fiddler中如何过滤会话
  14. Fiddler中会话比较功能
  15. Fiddler中提供的编码小工具
  16. Fiddler中查询会话
  17. Fiddler中保存会话
  18. Fiddler的script系统
  19. 如何在VS调试网站的时候使用Fiddler
  20. Response 是乱码的

Fiddler的基本介绍

Fiddler的官方网站:  www.fiddler2.com

Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料。

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展

你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法. 你越使用Fiddler,就越能帮助你了解HTTP协议.

Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具

Fiddler的工作原理

Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.

 

同类的其它工具

同类的工具有: httpwatch, firebug, wireshark

 

Fiddler 如何捕获Firefox的会话

能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。 Fiddler2启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将Firefox的代理改为127.0.0.1:8888就可以监听数据了。

Firefox 上通过如下步骤设置代理

点击: Tools -> Options,  在Options 对话框上点击Advanced tab - > network tab -> setting.

 

Firefox 中安装Fiddler插件

修改Firefox 中的代理比较麻烦, 不用fiddler的时候还要去掉代理。 麻烦

推荐你在firefox中使用fiddler hook 插件, 这样你非常方便的使用Fiddler获取firefox中的request 和response

当你安装fiddler后, 就已经装好了Fiddler hook插件, 你需要到firefox中去启用这个插件
打开firefox   tools->Add ons -> Extensions 启动 FiddlerHook

 

 

Fiddler如何捕获HTTPS会话

默认下,Fiddler不会捕获HTTPS会话,需要你设置下, 打开Fiddler  Tool->Fiddler Options->HTTPS tab

 选中checkbox, 弹出如下的对话框,点击"YES"

点击"Yes" 后,就设置好了

Fiddler的基本界面

 看看Fiddler的基本界面

 

Inspectors tab下有很多查看Request或者Response的消息。 其中Raw Tab可以查看完整的消息,Headers tab 只查看消息中的header. 如下图

 

Fiddler的HTTP统计视图

通过陈列出所有的HTTP通信量,Fiddler可以很容易的向您展示哪些文件生成了您当前请求的页面。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。

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

QuickExec命令行的使用

Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。

常见得命令有

help  打开官方的使用页面介绍,所有的命令都会列出来

cls    清屏  (Ctrl+x 也可以清屏)

select  选择会话的命令

?.png  用来选择png后缀的图片

bpu  截获request

Fiddler中设置断点修改Request

[作者:小坦克]  Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法

第一种:打开Fiddler 点击Rules-> Automatic Breakpoint  ->Before Requests(这种方法会中断所有的会话)

如何消除命令呢?  点击Rules-> Automatic Breakpoint  ->Disabled

第二种:  在命令行中输入命令:  bpu www.baidu.com   (这种方法只会中断www.baidu.com)

如何消除命令呢?  在命令行中输入命令 bpu

 

看个实例,模拟博客园的登录, 在IE中打开博客园的登录页面,输入错误的用户名和密码,用Fiddler中断会话,修改成正确的用户名密码。这样就能成功登录

1. 用IE 打开博客园的登录界面  http://passport.cnblogs.com/login.aspx
2. 打开Fiddler,  在命令行中输入bpu http://passport.cnblogs.com/login.aspx
3. 输入错误的用户名和密码 点击登录
4. Fiddler 能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改用户名密码,然后点击Run to Completion 如下图所示。
5. 结果是正确地登录了博客园

 

 

Fiddler中设置断点修改Response

当然Fiddler中也能修改Response

第一种:打开Fiddler 点击Rules-> Automatic Breakpoint  ->After Response  (这种方法会中断所有的会话)

如何消除命令呢?  点击Rules-> Automatic Breakpoint  ->Disabled

第二种:  在命令行中输入命令:  bpafter www.baidu.com   (这种方法只会中断www.baidu.com)

如何消除命令呢?  在命令行中输入命令 bpafter,

具体用法和上节差不多,就不多说了。

Fiddler中创建AutoResponder规则

Fiddler 的AutoResponder tab允许你从本地返回文件,而不用将http request 发送到服务器上。

看个实例. 1. 打开博客园首页,把博客园的logo图片保存到本地,并且对图片做些修改。

2. 打开Fiddler 找到logo图片的会话, http://static.cnblogs.com/images/logo_2012_lantern_festival.gif,  把这个会话拖到AutoResponer Tab下

3. 选择Enable automatic reaponses 和Unmatched requests passthrough

4. 在下面的Rule Editor 下面选择 Find a file... 选择本地保存的图片.  最后点击Save 保存下。

5.  再用IE博客园首页, 你会看到首页的图片用的是本地的。

 



Fiddler中如何过滤会话

每次使用Fiddler, 打开一个网站,都能在Fiddler中看到几十个会话,看得眼花缭乱。最好的办法是过滤掉一些会话,比如过滤掉图片的会话. Fiddler中有过滤的功能, 在右边的Filters tab中,里面有很多选项, 稍微研究下,就知道怎么用。

 

Fiddler中会话比较功能

选中2个会话,右键然后点击Compare,就可以用WinDiff来比较两个会话的不同了 (当然需要你安装WinDiff)

 

Fiddler中提供的编码小工具

点击Fiddler 工具栏上的TextWizard,  这个工具可以Encode和Decode string.

Fiddler中查询会话

用快捷键Ctrl+F 打开 Find Sessions的对话框,输入关键字查询你要的会话。 查询到的会话会用黄色显示

Fiddler中保存会话

有些时候我们需要把会话保存下来,以便发给别人或者以后去分析。  保存会话的步骤如下:

选择你想保存的会话,然后点击File->Save->Selected Sessions

Fiddler的script系统

Fiddler最复杂的莫过于script系统了 官方的帮助文档: http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp

首先先安装SyntaxView插件,Inspectors tab->Get SyntaxView tab->Download and Install SyntaxView Now... 如下图

 

安装成功后Fiddler 就会多了一个Fiddler Script tab, 如下图

在里面我们就可以编写脚本了, 看个实例 让所有cnblogs的会话都显示红色。

把这段脚本放在OnBeforeRequest(oSession: Session) 方法下,并且点击"Save script"

     if (oSession.HostnameIs("www.cnblogs.com")) {oSession["ui-color"] = "red";}

这样所有的cnblogs的会话都会显示红色

 

如何在VS调试网站的时候使用Fiddler

我们在用visual stuido 开发ASP.NET网站的时候也需要用Fiddler来分析HTTP, 默认的时候Fiddler是不能嗅探到localhost的网站。不过只要在localhost后面加个点号,Fiddler就能嗅探到。

例如:原本ASP.net的地址是 http://localhost:2391/Default.aspx,  加个点号后,变成 http://localhost.:2391/Default.aspx 就可以了

 

第二个办法就是在hosts文件中加入  127.0.0.1  localsite

如何你访问http://localsite:端口号   。  这样Fiddler也能截取到了。

 

Response 是乱码的

有时候我们看到Response中的HTML是乱码的, 这是因为HTML被压缩了, 我们可以通过两种方法去解压缩。

1. 点击Response Raw上方的"Response is encoded any may need to be decoded before inspection. click here to transform"

2. 选中工具栏中的"Decode"。  这样会自动解压缩。

 

附: Fiddler 系列教程, (连载中, 敬请期待)

Fiddler (一) 教程

Fiddler (二) Script用法

Fiddler (三) Composer创建和发送HTTP Request

Fiddler (四) 实现手机的抓包

Fiddler (五) Mac下使用Fiddler

Fiddler (六) 最常用的快捷键

 

http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html

转载于:https://www.cnblogs.com/xinxin1994/p/7084737.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_796565.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos6下如何安装mysql服务_centos 6.5如何安装mysql?_网站服务器运行维护,centos 6.5,mysql...

Linux运维之shell变量.md_网站服务器运行维护我们知道shell里面有许多变量,比如我们经常会用到的PATH变量,它的作用就是,它的作用是设置可执行文件的目录,这样输入命令的时候就不用使用绝对路径了。centos 6.5安装mysql的方法&…

php网站开发实例教程源码,PHP+MYSQL网站开发全程实例

1. 从观念的引述、程序代码解析到范例的延伸应用,给您最完整的学习流程。2. 实务网站范例,所有技术整合运用,实作技巧一览无遗。3.在PHP的程序设计中,以高阶的程序设计,配上灵活的图解,增加您程序设计的功力…

项目1在线交流平台-7.构建安全高效的企业服务-5.redis高级数据结构应用-统计网站数据-独立访客和日活跃用户

文章目录功能需求一、dao层定义redis数据的key二、Service层处理业务逻辑1. 对独立访客UV的记录与查询记录new SimpleDateFormat("yyyyMMdd")format(new Date())- 日期类型转为指定日期格式字符串类型查询Calendar类 Calendar.getInstance()- 实例化操作日期的Calend…

打不开_网站打不开的原因有哪些

其实网站不管是在建设的过程中还是在投入运营使用之后,都会出现网站打不开的现象,而且还有很多的企业不知道出现这种现象的原因。今天八爪网就给大家分享网站打不开的原因有哪些,一起来看看吧。1、检查是否是网站服务器的问题有的企业在做网站…

使用Web标准建站第8天:CSS布局入门(2)

接下来开始要真正设计布局了。和传统的方法一样,你首先要在脑海里有大致的轮廓构想,然后用photoshop把它画出来。你可能看到有关web标准的站点大都很朴素,因为web标准更关注结构和内容,实际上它与网页的美观没有根本冲突&#xff…

java webmagic 使用_使用 | Java使用WebMagic 爬取网站

小小又开始学习了,这次跟着项目学习着,需要使用一个相关的爬虫,这里使用的是webmagic作为网站的爬虫。安装这里使用maven进行安装。根据maven下载相关的包us.codecraftwebmagic-core0.7.3us.codecraftwebmagic-extension0.7.3Hello World几乎…

linux shell监控网站延迟,shell脚本监控网站状态

给大家发个不错的网站监控shell,当然说它功能强大也不是很强大,但配置上很灵活,因为此脚本的作用是按固定频率不停访问给出的URL,当网站不可访问时自动给设定邮箱发送告警邮件以通知用户.好了.来看脚本吧.#!/bin/sh# */2 * * * * sh /var/monitor/web_monitor.sh http:///blog.…

Vue ElementUI el-tabs 监听导航栏的mouseover 和 mouseleave 事件

需求 项目需要对 el-tabs 的导航栏做鼠标监听事件&#xff0c;但官网仅有如下点击事件。所以另辟蹊径&#xff0c;对 class"el-tabs__nav-scroll" 做监听。 示例 <template><div><el-tabs class"my-tabs" v-model"activeName" …

网站的分布式架构学习

转载学习地址&#xff1a;http://www.cnblogs.com/sharpxiajun/archive/2013/05/11/3072798.html 网站的B/S技术架构图 在传统B/S架构的企业管理系统里&#xff0c;技术架构往往就是一个工程项目&#xff0c;各个逻辑分层都是该工程的业务逻辑模块。但是作为提供公共服务的网站…

做网站用UTF-8还是GB2312?

转载自 http://justjavac.javaeye.com/blog/695252 经常我们打开外国网站的时候出现乱码&#xff0c;又或者打开很多非英语的外国网站的时候&#xff0c;显示的都是口口口口口的字符&#xff0c; WordPress程序是用的UTF-8&#xff0c;很多cms用的是GB2312。 ● 为什么有这么…

小型电子商务网站设计原则

最近谈得最多的话题莫过于大规模&#xff0c;大数据量&#xff0c;高性能&#xff0c;高并发等架构话题&#xff0c;其实一个电子商务网站开始时一定是小规模&#xff0c;小数据量&#xff0c;用不着把架构弄得过于复杂。高度设计、过度扩展(高德纳大爷也说过&#xff0c;"…

Mysql在大型网站的应用架构演变

写在最前: 本文主要描述在网站的不同的并发访问量级下&#xff0c;Mysql架构的演变 可扩展性 架构的可扩展性往往和并发是息息相关&#xff0c;没有并发的增长&#xff0c;也就没有必要做高可扩展性的架构&#xff0c;这里对可扩展性进行简单介绍一下&#xff0c;常用的扩展手段…

(转载)可扩展、高可用、负载均衡网站架构设计方案

可扩展、高可用、负载均衡网站架构设计方案作者&#xff1a;田逸(sery163.com) 本作品已刊登在《IT实验室周报》第6期第6版 基本需求: 1、 高可用性&#xff1a;将停止服务时间降低到最低甚至是不间断服务 2、 可扩展性&#xff1a;随着访问的增加&#xff0c;系统具备良好的…

MOUSEOVER在拼接的HTML无效处理

正常情况下&#xff1a; //鼠标移入移出&#xff08;顶部企业图标信息&#xff09;$(".patternBg").mouseover(function (){ $(".enterpriseContent").show(); }).mouseout(function () {$(".enterpriseContent").hide();}); 修改成&#x…

SQl语句查存储过程\触发器\约束(网站数据库转移缺漏审查)

网站开发最让我们头疼的就是数据的架构.本地开发很轻松.程序只需要打包dll就可以了,但是数据库要架设到空间服务器上,就要转移.一不小心就会忘了一些存储过程,触发器,约束.这里为大家提供几个查用的检查.能够快速找出有哪些东西是忘记传了.很实用.有好的方法,请知道. 该条语句查…

从小型网站到超大规模网站的MySQL参考架构

Oracle发布《面向大规模可伸缩网站基础设施的MySQL参考架构》白皮书&#xff0c;针对将MySQL用作数据存储的不同类型和不同规模的网站给出了推荐的拓扑结构。 根据分别提供4类服务——用户和会话管理、电子商务、分析类应用 (多结构数据)和CMS&#xff08;元数据&#xff09;—…

在不同尺寸屏幕下浏览网站效果 - Responsivator

如果你需要开发响应式的网站的话&#xff0c;使用一个必要的浏览工具来检验不同尺寸屏幕下显示效果还是非常有用的&#xff0c;在今天的这篇文章中&#xff0c;我们再给大家介绍另外一个不错的在线工具 - Responsivator&#xff0c;它提供了很多不同的尺寸屏幕的展示效果&#…

行业网站设计心得

作者&#xff1a;何迁 时间&#xff1a; 2004-08-18 文档类型&#xff1a;原创 来自&#xff1a;蓝色理想 浏览统计 total:11158 | year:596 | Quarter:596 | Month:596 | Week:47 | today:7 很多设计师认为做好了企业网站就一定能够做好行业网站的设计&#xff0c;其实对设…

云计算之路-阿里云上:网站故障致歉

后续进展&#xff1a;云计算之路-阿里云上&#xff1a;向大家汇报一下今天上午的网站故障 今天上午&#xff08;5月16日&#xff09;9:30~9:40左右&#xff0c;下午16:30~17:00左右&#xff0c;由于博客站点的Web服务器CPU大幅波动&#xff08;有如坐过山车&#xff09;&#x…

带给你灵感的20个漂亮的单页网站设计作品

带给你灵感的20个漂亮的单页网站设计作品 单页网站是指只有一个页面的网站&#xff0c;这种形式的网站曾经非常流行&#xff0c;现在依然有很多人喜欢。不过&#xff0c;并不是每个网站都适合做成单页&#xff0c;一般都是内容比较少而且将来内容也不怎么增加的情况才适合这样做…