在开发的过程中使用过不少的HTTP网络抓包工具,如:HTTPAnalyzer,HttpWatch。

Fiddler几乎囊括了大部分的抓包请求,当然最给力的还是它的断点调试功能,尤其还有使用本地文件代替服务器文件这个实用的功能,这样程序员就不要每次出问题修改服务器文件了,因为服务器文件一般不会让人轻易修改,再者也许程序员没有权限修改!Demo地址为:http://www.fiddler2.com/Fiddler/help/video/default.asp 鉴于Fiddler这个好工具太强大了有时间就翻译一下Fiddler的使用教程,地址:http://www.fiddler2.com/Fiddler/help/ui.asp

Fiddler用户界面:下面这个界面截取的是我自己的Fiddler。

Web 会话列表。

就是指上面左侧的内容部分。Web会话列表包括了所有的从你的电脑发出的HTTP请求。为了自己的使用方便,你可以自己调整会话列表的内容,你也可以单击列表的顶部来对会话列表来排序。会话列表顶部包含的信息有以下内容:

# - 为了使用方便,Fiddler 为你生成的会话列表的ID

  • Result - HTTP响应的状态码  Learn more...
  • Protocol - 本次会话使用的协议类型(HTTP/HTTPS/FTP)
  • Host - 发送本次请求的主机名
  • URL - 本次请求的路径和具体文件名
  • Body - 响应返回内容的大小
  • Caching -是否使用了缓存
  • Process - 发送本次请求的程序进程的名字
  • Content-Type - 响应的响应头的 Content-Type 值
  • Custom - 通过脚本设置的文本域.  Learn more...
  • Comments - 通过脚本或者在会话列表中右键添加的注释。

在Fiddler v2.2.0.5 及其以上的版本,你可以添加自己的新列。

在会话列表中默认的文本的颜色从HTTP的响应的状态继承而来(红色代表错误,黄色代表需要授权)CONNECT类型为灰色,还有返回类型(CSS文件为紫色,HTML文件为蓝色,JS脚本为绿色,图片为灰色)你可以通过使用ui-color 标志位来改变和重写列表的默认颜色。

(提示:ui-colorFiddler的脚本配置文件中,需要安装FiddlerScript

为了查看的方便每一个请求的前面都有一个图标来表示。

上面的图标后面的英文的意思依次为:

1.请求正在被发往服务器

2.正在从服务器接收请求内容

3.请求被一个断点停住了。

4.响应被一个断点停住了。

5.请求使用HEAD方法,响应应该没有响应体。

6.请求使用POST方法

7.请求使用了HTTPS

8.返回内容为HTML页面

9.返回内容为JS脚本

10.返回内容为CSS

11.返回内容为XML文件

12.返回内容为JSON文件

13.返回内容为音频文件

14.返回内容为视频文件

15.返回内容为Silverlight

16.返回内容为Flash

17.返回内容为字体文件

18.一般成功的响应

19.响应被重定向了,通过HTTP/300,301,302,303 or 307

20.HTTP 304 请求

21.返回一个需要客户端证书验证的请求

22.服务器端错误

23.会话被客户端、Fiddler、服务器意外终止。

和会话列表的交互

在一个或者多个会话上面单击右键会出现下面的菜单

小提示:你可以通过在FiddlerScript中使用ContextAction标志为这个菜单添加菜单项。

在“复制”菜单上面有以下内容:

  • Session - 以纯文本和HTML语法加亮形式复制原始的请求内容到剪贴板。
  • Just URL - 仅仅复制主机名和URL地址
  • Headers Only - 以纯文本和HTML语法加亮形式复制请求头和响应头到剪贴板。
  • Full Summary - 为了粘贴到Excel中方便,以纯文本和HTML语法加亮形式把请求的各个列的信息复制到剪贴板。
  • Terse Summary - 复制请求地址和响应状态到剪贴板。

在“保存”菜单上面有以下内容:

  • Session > In ArchiveZIP - 把相关的请求内容打包为一个 .SAZ 文件.
  • Session - 把请求和响应的所有内容存为一个文本文件
  • Headers Only - 把请求头和响应头存为一个文本文件
  • Full Request - 把请求的所有内容存为一个文本文件
  • Request Body - 把请求体存为一个文本文件,通常是POST的数据包。
  • Full Response - 把响应的所有内容存为一个文本文件
  • Response Body - 把响应体存为一个文件,通常是HTML文件或者图片。

AutoResponder 快速引用

今天我们来看一下Fiddler的AutoResponder选项卡的强大功能。

Fiddler的AutoResponder 选项卡允许你使用本地硬盘的文件来作为返回内容,而不是把请求发往服务器。

创建AutoResponder 规则。

使用AutoResponder选项卡,你可以创建一个匹配规则和一个响应字符串,如果请求的URL地址跟你的匹配规则相匹配,Fiddler就会自动执行这个对应的响应字符串。

小提示:

匹配规则会按照它在规则列表中出现的顺序进行匹配, 按+键可以使一个匹配规则向上移一项,按-键可以使一个匹配规则向下移一项。

  • 使用右键菜单, 你可以导出一个包含了所有的匹配规则和对应响应字符串的后缀为 .FARX 的文件。
  • 你也可以通过导入  .SAZ or .FARX 文件来创建基于以前创建的规则列表和响应列表.
  • 你可以从会话列表中拖动一个会话到AutoResponder选项卡中来重新演示以前的响应. 你也可以选中一条规则,然后回车这样就可以来编辑一条规则。
  • 你也可以直接从Windows的资源管理器中拖动一个文件到 AutoResponder选项卡中来为这些文件创建规则和响应。

匹配规则:

纯粹字符串Fiddler将会按照不区分字母大小写来匹配字符串。

Demo如下:

Rule

Matches

*

http://www.example.com/Path1/query=example

EXAMPLE

http://www.example.com/Path1/query=example

path1/

http://www.example.com/Path1/query=example

query

http://www.example.com/Path1/q=Query

跟上面的类似,Fiddler还有一个非字符串匹配的规则:NOT

Demo如下:下面的都匹配。

Rule

Matches

NOT:EXAMPLE

http://www.test.com/Path1/query=test

NOT:path1/

http://www.example.com/Path2/query=example

NOT:query

http://www.example.com/Path1/q

Exact匹配:表达式以EXACT:为前缀,此匹配区分字母大小写

Demo如下:

Rule

Matches

EXACT:http://www.example.com/path

http://www.example.com/path

EXACT:http://www.example.com/path

http://www.example.com/Path (不匹配- 大小写不一样)

EXACT:http://www.example.com/path

http://www.example.com/path/q=Query (不匹配- 子字符串不一样)

正则表达式:Fiddler支持以regex:为前缀的正则表达式语法,使用.+匹配一个或多个字符,使用.*匹配0个或多个字符,使用^匹配字符串开始位置,使用$匹配字符串结尾位置。

Demo如下:

Rule

Matches

regex:.+

http://www.example.com/Path1/query=example

regex:.+\.jpg.*

http://www.example.com/Path1/query=foo.jpg&bar
http://www.example.com/Path1/query=example.jpg

regex:.+\.jpg$

http://www.example.com/Path1/query=foo.jpg&bar
(No Match - improper ending)
http://www.example.com/Path1/query=example.jpg

regex:.+\.(jpg|gif|bmp)$

http://www.example.com/Path1/query=foo.bmp&bar
(No Match  - improper ending)
http://www.example.com/Path1/query=example.gif
http://www.example.com/Path1/query=example.Gif  (No Match - mismatched case)
http://www.example.com/Path1/query=example.bmp

regex:(?insx).+\.(jpg|gif|bmp)$

http://www.example.com/Path1/query=foo.bmp&bar
(No Match - improper ending)http://www.example.com/Path1/query=example.gif
http://www.example.com/Path1/query=example.Gif  
http://www.example.com/Path1/query=example.bmp

响应字符串

除了简单的返回文件,AutoResponder选项卡还有更多的用处

Beyond simply returning files, the
AutoResponder can also perform special actions...

Action String

Result...

filename

返回文件内容作为消息响应

http://targetURL

返回此URL的内容作为消息响应

*redir:http://targetURL

返回一个跳转URL,注意,不是一般的URL,一定要确保此URL知道要到哪里去,以便携带上相关的Cookie信息。

*bpu

设置一个断点在发往服务器以前停住此请求Non-final action.

*bpafter

设置一个断点在接收响应之前停住此请求Non-final action.

*delay:####

设置在发给服务器之前的延时,以毫秒为单位。Non-final action.

*header:Name=Value

设置请求头的内容,如果没有那个请求头,则新建一个请求头Name并设置为ValueNon-final action.

*flag:Name=Value

设置Session Flag的内容,如果没有那个Session Flag,则新建一个Session FlagName并设置为ValueNon-final action.

*CORSPreflightAllow

返回一个响应标志 CORS 是否被允许。.

*reset

使用一个TCP/IP RST 重新设置客户端的链接。

*drop

马上关闭客户端链接。

*exit

这时候停止处理匹配。

如果你的匹配规则使用了正则表达式,那么响应也可以使用正则表达式,更多信息请看这里: Learn more...标志为Non-final
action.
的请求会匹配多个响应规则,如果一个规则是final action ,那么再找到匹配之后,匹配过程就会结束,对于那条请求来说就不会再匹配其它的规则。

延迟响应

在一个请求返回来之前你可以设置一下请求延迟返回的时间。选中Enable Latency 复选框,可以设置所有的规则的延迟。

右键单击一个或者多个规则,然后选择 Set Latency 就可以设置具体的延迟时间。如果你想调整现存的延迟时间,只需要输入一个带有+或者-号的数字即可。

如果你想在现在的延迟时间基础上面减少500毫秒,那么在弹出的输入框中输入-500即可。

从入门到深入FIDDLER 2的更多相关文章

  1. Jmeter Web 性能测试入门 (二):Fiddler 抓取 http/https 请求

    jmeter自带了拦截request的功能,并且也有对应的tool:badboy 可以用.但由于我经常做移动端的项目,个人还是习惯用fiddler来收集request. 官网下载并安装Fiddler ...

  2. Python爬虫入门教程 41-100 Fiddler+夜神模拟器+雷电模拟器配置手机APP爬虫部分

    爬前叨叨 从40篇博客开始,我将逐步讲解一下手机APP的爬虫,关于这部分,我们尽量简化博客内容,在这部分中可能涉及到一些逆向,破解的内容,这部分尽量跳过,毕竟它涉及的东西有点复杂,并且偏离了爬虫体系太 ...

  3. FIDDLER的使用方法及技巧总结(连载一)FIDDLER快速入门及使用场景

    FIDDLER的使用方法及技巧总结 一.FIDDLER快速入门及使用场景 Fiddler的官方网站:http://www.fiddler2.com Fiddler的官方帮助:http://docs.t ...

  4. python爬虫入门02:教你通过 Fiddler 进行手机抓包

    哟~哟~哟~ hi起来 everybody 今天要说说怎么在我们的手机抓包 通过 python爬虫入门01:教你在Chrome浏览器轻松抓包 我们知道了 HTTP 的请求方式 以及在 Chrome 中 ...

  5. 高效前端优化工具--Fiddler入门教程

    简介: Fiddler是用C#编写的一个免费的HTTP/HTTPS网络调试器.Fiddler是以代理服务器的方式,监听系统的网络数据流动英语中Fiddler是小提琴的意思,Fiddler Web De ...

  6. Fiddler 抓包工具入门

    转自:https://www.cnblogs.com/yyhh/p/5140852.html 序章 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存等操 ...

  7. Fiddler实现手机抓包——小白入门

    方法1:https://www.cnblogs.com/hzg1981/p/5610530.html 方法2:转载自:http://blog.csdn.net/gld824125233/article ...

  8. Fiddler实现手机抓包——小白入门(转载csdn)

    手机用fiddler抓包 电脑最好是笔记本,这样能和手机保持统一局域网内:其他不多说,直接说步骤了. 一.对PC(笔记本)参数进行配置    1. 配置fiddler允许监听到https(fiddle ...

  9. Fiddler实现手机抓包——小白入门 - 做一个不动声色的大人

    手机用fiddler抓包 电脑最好是笔记本,这样能和手机保持统一局域网内:其他不多说,直接说步骤了. 一.对PC(笔记本)参数进行配置    1. 配置fiddler允许监听到https(fiddle ...

随机推荐

  1. HDU 1796 (容斥原理)

    容斥原理练习题,忘记处理gcd 和 lcm,wa了几发0.0. #include<iostream> #include<cstdio> #include<cstring& ...

  2. Confluence 6 导入一个 Confluence 站点

    有下面 2 种类方法可以导入一个站点 - 通过上传一个文件或者从你 Confluence 服务器上读取一个目录.上传文件仅仅是针对一个小站点的情况.为了取得最好的导入结果,我们推荐你从服务器上的目录上 ...

  3. nginx官方模块之http_random_index_module

    作用 目录中选择一个随机主页 语法

  4. netstat常见基本用法(转)

    netstat 简介 Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字. ...

  5. D3.js 添加zoom缩放功能后dblclick双击也会放大的问题

    svg.call(zoom).on("dblclick.zoom", null); https://stackoverflow.com/questions/25007466/d3- ...

  6. Win#password;;processon #clone;;disassemble;;source find

    1.密码学思维导图 源地址:https://www.processon.com/view/5a61d825e4b0c090524f5b8b 在这之前给大家分享 如何在 processon上搜索公开克隆 ...

  7. 用来表达更复杂的sql语句!!!!!extra 原声sql

    extra 用来表达更复杂的sql语句!!!!! extra可以指定一个或多个 参数,例如 select, where or tables. 这些参数都不是必须的,但是你至少要使用一个!要注意这些额外 ...

  8. PXE+HTTP+TFTP+Kickstart实现无人值守部署centos6.10

    在联网的状态下安装所需软件: Shell> yum install dhcp httpd tftp-server xinetd syslinux system-config-kickstart ...

  9. linux下mysql源码安装

    参考链接:http://blog.csdn.net/zqtsx/article/details/9378703 下载mysql安装包, 不会下载点这里 地址:ftp://mirror.switch.c ...

  10. 集腋成裘-01-html -html基础

    1 标签 1.1 单标签 注释标签 <!-- 注释标签 --> 换行标签 <br/> 水平线 <hr/> <img src="图片来源" ...