抓包工具 Fiddler 使用介绍
简介
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 | 问号后边跟一个字符串,可以匹配出包含这个字符串的请求 |  | 
| > | 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 使用介绍的更多相关文章
- 抓包工具Fiddler的使用
		Fiddler 教程 Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发 ... 
- 网络抓包工具 Fiddler
		网络抓包工具 Fiddler 下载网址 http://www.telerik.com/fiddler 简单介绍 Fiddler是一个http协议调试代理工具,它能够记录并检查全部你的电脑和互联网之间的 ... 
- 移动端抓包工具——Fiddler(一)
		web端抓包一般利用浏览器自带的检查功能(F12),然后看Network项,根据请求响应判断出问题 移动端怎么抓包呢,这里介绍一款常用的抓包工具——Fiddler 前提: 1.必须确保安装fiddl ... 
- 和我一起学习爬虫之HTTP/HTTPS抓包工具--Fiddler
		HTTP/HTTPS抓包工具--Fiddler Fiddler[ˈfɪdlə(r)] 1. HTTP代理神器Fiddler Fiddler是一款强大Web调试工具,它能记录所有客户端和服务器的HTTP ... 
- 【转】抓包工具Fiddler的使用教程(十二)下:Fiddler抓取HTTPS
		在教程十二(上),我们也了解了HTTPS协议,该教程就和大家分享Fiddler如何抓取HTTPS 抓包工具Fiddler的使用教程(十二):[转载]HTTPS协议 再次回忆一下关键内容: iddler ... 
- 抓包工具 Fiddler 使用:弱网络环境模拟限速测试流程
		转自:http://www.51testing.com/html/80/n-3726980.html 抓包工具 Fiddler 使用:弱网络环境模拟限速测试流程 发表于:2018-6-06 11: ... 
- 爬虫(二):抓包工具Fiddler
		1. 抓包工具Fiddler 1.1 Fiddler下载与安装 最简单的方法,打开百度,搜索fiddler下载. 下载完毕解压即可,此版本为绿色版. 点击这个即可运行抓包软件. 1.2 Fiddler ... 
- 抓包工具fiddler下载配置(三):手机设置代理
		前言 本篇仅讲解了手机端如何设置代理,是[抓包工具fiddler下载配置(一):下载/安装&信任证书]的后续文章,未下载安装抓包工具的需先参考文章[抓包工具fiddler下载配置(一):下 ... 
- 抓包工具fiddler下载配置(一):下载/安装&信任证书
		简介 Fiddler一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件 ... 
随机推荐
- intel xeon家族介绍
			Xeon - Intel < intel Xeon Past and current logos Developer Intel Manufacturer Intel Typ ... 
- 微信小程序云端解决方案探索之路 - GITC 主题演讲
			转自:https://github.com/tencentyun/blog/issues/1 在刚结束的全球互联网技术大会(GITC)里面,我在前端专场给大家分享了「微信小程序云端解决方案探索之路」, ... 
- github ignore 规范
			转自:https://www.cnblogs.com/xuld gitignore 应该包含 5 块内容: 当前项目需要忽略的文件 项目性质需要忽略的文件(比如是 nodejs 项目,有些文件就需要忽 ... 
- 29. pt-table-usage
			pt-table-usage --query="select * from t01 join t02 on t01.id=t02.id where t01.code=2" pt-t ... 
- jquery操作select下拉框的多种方法(选中,取值,赋值等)
			Query获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...}); //为Sel ... 
- 使用SQL创建唯一索引
			使用sql语句创建唯一索引,格式如下: create unique index 索引名 on 表名(列名1,列名2……) 示例:在表GoodsMade_Labour的SID列上创建唯一索引IX_Goo ... 
- 在Java的Condition接口【唤醒全部线程】
			在Java的Condition接口中,存在的几个方法跟Synchronized中的wait(),waitall(),wait(time ^),这个几个方法一一对应起来,但是在Lock.newCondi ... 
- java画按钮的边框
			import javax.swing.*;import java.awt.*;public class demo_4{ public static void main(String [] arg ... 
- PM学习梳理--需求管理
- Jmeter 聚合报告---测试结果分析
			当我们测试完后,最关心就是结果数据了,下面一起来分析Jmeter聚合报告数据. 首先来看下Jmeter的help是如何解释这些含义的. 1.Label - The label of the sampl ... 
 
			
		






















