1、几种主流的抓包工具的对比:json
Wireshark:通用的抓包工具,抓取信息量庞大,详细。一般须要过滤才可容易获得有用信息。若是只抓http请求我的认为有点大材小用。浏览器
Firebug、httpWatch:其实不够给力的,相对而言功能有点欠缺。缓存
花瓶:界面相较与fiddler要简洁,他专一于Mac平台服务器
1、Fiddler基本概念cookie
一、fiddler是位于客户端与服务端的http代理,他能记录全部的客户端与服务端之间的http或者https的请求响应。进行截获、重发、编辑、转存等操做。网络
二、容许监视、设置断点、修改输入输出数据,它包含一个强大的基于事件脚本的子系统,而且支持.net语言进行扩展。session
2、Fiddler界面基本介绍ide
主界面:工具
主菜单:布局
File: 文件
capture Traffic: 是否启动抓包;勾选后左下角显示capturing。是开始抓取;不勾选是不抓取,无capturing。
new viewer: 新建fiddler窗口。
save: 将当前抓取的会话进行保存。
其余的基本上不用,就不写了。
Edit:编辑
copy: · 对所选的信息进行copy,包含对session、URL、headers等信息进行copy。
Remove: 删除,包含删除选择的session,未选择的session、删除全部的。
Select All: 将回话区全部的会话全选。
Undelent: 将上一次删除的会话进行复原。
Paste as sessions: 将之前的会话粘贴回来。
Mack: 自定义不一样状态的会话的显示的颜色。
Unlock for Editing: 不容许进行编辑。
Find sessions: 对会话进行快捷查找,至关于Ctrl+F。
Rules:规则
Hide Image Requests: 隐藏图片请求。
Hide connects: 隐藏connects请求。
Automatic Breakpoints: 修改请求或者响应的内容,作断点使用较多。
Customize Rules: 调取脚本操做,多用于修改网络、其余自定义时使用。
User-Agents: 模拟其余浏览器进行请求。
Performance: 一个性能测试工具,包含:模拟调制解调器速度、禁止缓存、显示TTL8。
Tools:工具
Options: 一些设置项,包含:对抓取接口是http、HTTPS类型设置、获取证书、设置代理的端口号等信息。
Wininet options: 对PC端进行设置代理。
Clear wininet cache: 清除缓存。
Clear wininet cookies: 清除cookies。
TextWizard: 编码工具,能够用来进行编码、解码、转码操做。
compare sessions: 将两个sessions会话进行对比,正常使用须要安装插件。
Reset Script: 将脚本进行还原。
view IE cache: 视图缓存
New sessions Clipboard..: 新建会话剪切板
HOSTS: 对host进行修改、配置。
View:视图
Autoscroll session list: 设置会话区在抓取时是否自动滑动。
其余的主要是对布局方式的设置,包括菜单栏是否显示、界面的显示方式。
Help:帮助
主要包含fiddler自身的一些说明,基本上不用,感兴趣的小伙伴能够本身去了解一下,或者留言。
快捷菜单栏
: 对选择的会话进行备注。
: 将选择的会话进行从新发送。
: 将会话进行删除,包含删除所有、删除其余类型。。
: 主要在断点中使用。具体的下次再介绍。
: 选中时为流模式,主要做用既特性:一、收到内容当即发送给客户端
二、更接近真实浏览器的性能,速度快、时序图更准确,可是不能控制响应。
不选中时为缓冲模式,主要做用既特性:一、内容所有返回后再发送至客户端。
二、能够控制响应、修改响应数据,可是时序图有时候会出现异常。
: 主要是对一些价加密的东西自动解密,默认是勾选的。
: 设置会话区最多显示的会话数。
: 精准抓取指定的网站的数据包,多用于当同时抓取多个网站时。
: 快速查找。
: 保存。
: 截屏。
: 秒表。
: 快速打开指定的浏览器。
: 清除缓存。
: 编码小工具,用于对数据的编码、转码、解码等。
: 快速打开。
: 当网站使用关键字的快速查找。
会话区
: 表明会话的编号,列表不一样的图标表明不一样的含义。
: 表明请求后的状态。
: 表明抓取的请求的协议。
: 表明抓取的请求的主机地址。
: 表明抓取的请求的URL以及端口号地址。
: 表明抓取的请求的大小。
: 显示和缓存相关的内容。
: 主要表明抓取的请求的类型,好比图片、josn、HTML等。
: 发出此请求的Windows进程以及进程ID。
: 经过脚本或者右键菜单给此请求增长的备注信息。
: 经过脚本设置的自定义值。
Decode selected sessions: 将选择的会话进行从新请求一次。
: 统计选择的请求的性能信息,包括流量、响应等信息。
: 显示请求的请求头信息。
: 进行对请求进行修改、重定向时使用。
: 模拟接口的请求,包含post、GET请求等。能够用来简单的接口测试。
: 显示脚本内容。
: 操做的日志。
: 设置过滤,具体设置本身能够去单独了解一下。
: 显示多个请求的瀑布流的时间。
请求参数显示区
headers: 主要显示选择的请求的信息,包含、请求头、请求体、body等信息。
textView: 以文本的形式显示请求参数以及body值。
SyntaxView: 以脚本的形式显示请求参数以及body值(须要安装Syntaxview插件)。
WebForms: 以列表的形式显示请求参数以及body值。
HexView: 以16进制形式显示请求参数以及body值。
Auth: 显示header中Proxy-Authorization和Authorization值。
Cookies: 以直观的界面显示header中的cookies的值。
Raw: 将整个请求以纯文本的形式显示。
Josn: 以josn串形式显示请求参数以及body值。
XML: 以XML的形式显示请求参数以及body值。
响应结果显示区
Transformer: 响应信息的压缩编码格式,对响应信息进行编码、解码、转码操做。
Headers: 响应信息,包含响应状态、响应头、响应体。
textView: 以文本的形式展现响应结果。
SyntaxView: 以脚本的形式展现响应结果(须要安装插件)。
ImageView: 当响应中包含图片时能够用此功能进行查看图片以及图片信息。
HexView: 以16进制展现响应结果。
WebView: 以列表形式展现响应结果。
Auth: 展现响应结果中部分信息。
Caching: 响应的缓存过时时间或者缓存
Cookies: 展现响应中的cookies信息。
Raw: 以纯文本形式展现响应头。
json: 以JSON形式展现响应结果。
XML: 以XML形式展现响应结果。
会话区域各个图标表明的含义
图标 | 含义 |
![]() |
请求已经发往服务器 |
![]() |
已从服务器下载响应结果 |
![]() |
请求从断点处暂停 |
![]() |
响应从断点处暂停 |
![]() |
请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body) |
![]() |
请求使用 HTTP 的 POST 方法 |
![]() |
请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议创建链接隧道 |
![]() |
响应是 HTML 格式 |
![]() |
响应是一张图片 |
![]() |
响应是脚本格式 |
![]() |
响应是 CSS 格式 |
![]() |
响应是 XML 格式 |
![]() |
响应是 JSON 格式 |
![]() |
响应是一个音频文件 |
![]() |
响应是一个视频文件 |
![]() |
响应是一个 SilverLight |
![]() |
响应是一个 FLASH |
![]() |
响应是一个字体 |
![]() |
普通响应成功 |
![]() |
响应是 HTTP/300、30一、30二、303 或 307 重定向 |
![]() |
响应是 HTTP/304(无变动):使用缓存文件 |
![]() |
响应须要客户端证书验证 |
![]() |
服务端错误 |
![]() |
会话被客户端、Fiddler 或者服务端终止 |