简介

Fiddler是一个抓包工具,可以将网络传输发送与接收的数据包进行截获、重发、编辑等操作。也可以用来检测流量。原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。

Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了。Fiddler也可以抓取支持https代理的任意程序的数据包但是需要要先安装证书。

代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端。

工具栏

说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助

开启抓包

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

或者通过点击左下角图标。开启的时候该图标显示,关闭的时候该图标隐藏。

一般直接打开Fiddler的时候就开始自动抓包了。

已抓取数据包列表

每个Fiddler抓取到的数据包都会在该列表中展示,点击具体的一条数据包可以在右侧菜单点击Insepector查看详细内容。主要分为请求(即客户端发出的数据)和响应(服务器返回的数据)两部分。

数据包列表字段

名称

含义

#

抓取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是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容。

请求区域

名称

含义

Headers

TextView

显示请求的数据

SyntaxView

以表单形式显示所有的请求参数和参数值

WebForms

HexView

Auth

显示认证信息

Cookies

显示所有cookies

Raw

显示Headers和Body数据

JSON

若请求数据是json格式,以json形式显示请求内容

XML

若请求数据是xml格式,以xml形式显示请求内容

响应区域

名称

含义

Transformer

Headers

TextView

显示响应的数据

SyntaxView

ImageView

HexView

WebView

Auth

显示认证信息

Caching

Cookies

显示所有cookies

Raw

显示Headers和Body数据

JSON

 若响应数据是json格式,以json形式显示响应内容

XML

 若响应数据是xml格式,以xml形式显示响应内容

AutoResponder选项

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

Composer选项(常用)

Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求。常用于模拟GET和POST请求。

模拟GET请求

GET请求比较简单,接下来说下模拟POST请求。

模拟POST请求

这里模拟的是发送JSON数据,主要是需要在请求头设置下 Content-Type : application/json;charset=utf-8 ,然后在请求体里写上JSON数据。

如果发送普通文本数据的话,不需要设置请求头,默认的 Content-Type 是 application/x-www-form-urlencoded,表示普通的form表单元素提交,在发送前编码所有字符,提交的参数格式遵循:name=value&name=value&name=value...。也就是说要按照这种格式把数据写在请求体里。

请求结果

Fiddler Orchestra Beta选项

FiddlerScript选项

显示的是该请求的JS脚本。

Log选项

能够查看该次请求的日志。

Filters 选项(常用)

Fiters 是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,你刷新一下浏览器,一大片不知道哪来请求,看着碍眼,它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求。

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

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

Host 可选择隐藏,展示,标记某个域名下的会话。

设定好后可点击Actions中的 Run Filterset now 来执行过滤条件。

Timeline 选项

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

Fiddler 命令行

命令行在左下角

FIddler断点功能就是将请求截获下来,但是不发送,这个时候你可以干很多事情,比如说,把包改了,再发送给服务器君。还有一大堆的事情可以做,就不举例子了。

命令

对应请求项

介绍

示例

?

All

问号后边跟一个字符串,可以匹配出包含这个字符串的请求

?google

>

Body

大于号后面跟一个数字,可以匹配出请求大小,大于这个数字请求

>1000

<

Body

小于号跟大于号相反,匹配出请求大小,小于这个数字的请求

<100

=

Result

等于号后面跟数字,可以匹配HTTP返回码

=200

@

Host

@后面跟Host,可以匹配域名

@www.baidu.com

select

Content-Type

select后面跟响应类型,可以匹配到相关的类型

select image

cls

All

清空当前所有请求

cls

dump

All

将所有请求打包成saz压缩包,保存到“我的文档\Fiddler2\Captures”目录下

dump

start

All

开始监听请求

start

stop

All

停止监听请求

stop

断点命令

对应请求项

介绍

示例

bpafter

All

bpafter后边跟一个字符串,表示中断所有包含该字符串的请求

bpafter baidu(输入bpafter解除断点)

bpu

All

跟bpafter差不多,只不过这个是收到请求了,中断响应

bpu baidu(输入bpu解除断点)

bps

Result

后面跟状态吗,表示中断所有是这个状态码的请求

bps 200(输入bps解除断点)

bpv / bpm

HTTP方法

只中断HTTP方法的命令,HTTP方法如POST、GET

bpv get(输入bpv解除断点)

g / go

All

放行所有中断下来的请求

g

参考地址:https://www.cnblogs.com/yyhh/p/5140852.html

https://www.cnblogs.com/conquerorren/p/8472285.html

抓包工具 Fiddler 使用介绍的更多相关文章

  1. 抓包工具Fiddler的使用

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

  2. 网络抓包工具 Fiddler

    网络抓包工具 Fiddler 下载网址 http://www.telerik.com/fiddler 简单介绍 Fiddler是一个http协议调试代理工具,它能够记录并检查全部你的电脑和互联网之间的 ...

  3. 移动端抓包工具——Fiddler(一)

     web端抓包一般利用浏览器自带的检查功能(F12),然后看Network项,根据请求响应判断出问题 移动端怎么抓包呢,这里介绍一款常用的抓包工具——Fiddler 前提: 1.必须确保安装fiddl ...

  4. 和我一起学习爬虫之HTTP/HTTPS抓包工具--Fiddler

    HTTP/HTTPS抓包工具--Fiddler Fiddler[ˈfɪdlə(r)] 1. HTTP代理神器Fiddler Fiddler是一款强大Web调试工具,它能记录所有客户端和服务器的HTTP ...

  5. 【转】抓包工具Fiddler的使用教程(十二)下:Fiddler抓取HTTPS

    在教程十二(上),我们也了解了HTTPS协议,该教程就和大家分享Fiddler如何抓取HTTPS 抓包工具Fiddler的使用教程(十二):[转载]HTTPS协议 再次回忆一下关键内容: iddler ...

  6. 抓包工具 Fiddler 使用:弱网络环境模拟限速测试流程

    转自:http://www.51testing.com/html/80/n-3726980.html   抓包工具 Fiddler 使用:弱网络环境模拟限速测试流程 发表于:2018-6-06 11: ...

  7. 爬虫(二):抓包工具Fiddler

    1. 抓包工具Fiddler 1.1 Fiddler下载与安装 最简单的方法,打开百度,搜索fiddler下载. 下载完毕解压即可,此版本为绿色版. 点击这个即可运行抓包软件. 1.2 Fiddler ...

  8. 抓包工具fiddler下载配置(三):手机设置代理

      前言 本篇仅讲解了手机端如何设置代理,是[抓包工具fiddler下载配置(一):下载/安装&信任证书]的后续文章,未下载安装抓包工具的需先参考文章[抓包工具fiddler下载配置(一):下 ...

  9. 抓包工具fiddler下载配置(一):下载/安装&信任证书

    简介 Fiddler一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件 ...

随机推荐

  1. jmeter安装与使用

    1.下载安装Jmeter.JDK Jmeter官网下载地址: http://jmeter.apache.org/download_jmeter.cgi JDK官网下载地址: http://www.or ...

  2. 使用SQL创建唯一索引

    使用sql语句创建唯一索引,格式如下: create unique index 索引名 on 表名(列名1,列名2……) 示例:在表GoodsMade_Labour的SID列上创建唯一索引IX_Goo ...

  3. Spring事务,Bean生命周期

    一.事务相关: 1.Spring事务基于Spring AOP切面编程: 2.AOP基于代理模式,得到需要开启事务的代码的代理对象: 3.而没有开启事务的Service方法里调用了开启事务 @Trans ...

  4. SHELL脚本学习-练习写一个脚本4

    #编写一个脚本时,自动生成”#!/bin/bash”这一行和相关注释信息. 把以下的代码保存为一个sh文件,比如test.sh , 新建脚本是使用  bash test.sh newfile 即可. ...

  5. VMware Workstation 虚拟机使用无线wifi上网配置

    VMware Workstation 虚拟机使用无线wifi上网配置 参考文档: 转载/VMware Workstation环境下的Linux网络设置/适用于无线网络 VMware Workstati ...

  6. quartz一次简单应用经历

    项目里使用到每月的第一天需要定时统计上一个月的某种数据,这个时候,我开始第一次知道任务调度这么一个专业词汇.也初次了解quartz这个任务调度框架.网上看了好几篇博文,有种quartz越看越难的感觉, ...

  7. 继承中的prototype与_proto_

    继承的核心是原型链,它的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法. 例:SubType.prototype = new SuperType (); var instance = ...

  8. s6-4 TCP 数据段

    传输控制协议  TCP (Transmission Control Protocol) 是专门为了在不可靠的互联网络上提供可靠的端到端字节流而设计的  TCP必须动态地适应不同的拓扑.带宽.延迟. ...

  9. JAVA 8 主要新特性 ----------------(七)新时间日期 API -----Instant 时间戳

    一.简介 用于“时间戳”的运算.它是以Unix元年(传统 的设定为UTC时区1970年1月1日午夜时分)开始 所经历的描述进行运算 二.文档介绍 1.now Instant instantNow = ...

  10. mysql的like子句

    直接上例子 查询字段以 php 开头的信息. SELECT * FROM position WHERE name LIKE 'php%'; 查询字段包含 php 的信息. SELECT * FROM ...