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

一、工作原理

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

二、基础配置

2.1 基础配置之https

我们现在访问的网站为了保证通信过程的安全,大部分网站采用了https协议进行传输,如:https://www.baidu.com或https://www.lixh.cn,都是采用https协议采用加密传输的模式,所以我们在抓取此类网站之前,要进行相关的配置。

选择菜单:工具->选项

在弹出的“选项”界面中,选择“HTTPS”项。

  • 勾选:抓取HTTPS连接。
  • 勾选:解密HTTPS流量。
  • 选择:…从所有进程,这里需要注意的是,如果你只想抓取浏览器里的内容,也可以选择“…仅从浏览器”。
  • 勾选:忽略服务器证书错误(不安全)。

除了设置这些操作外,还需要导出https通信证书,这样浏览器在访问时,就能通过Fiddler的认证了。选择“操作”按钮,在弹出菜单中,选择“导出根证书到桌面”。

导出之后的证书就可以在桌面上找到。

有了这个证书,我们就可以把它导入到浏览器中。如果抓取电脑中的数据,直接导入电脑中的浏览器中即可,如果抓取手机中的数据,则需要将此证书传到手机中,并导入手机中浏览器中即可。但需要注意的是,将来可能需要抓取手机App的数据,大部分此类App都采用https协议通信的,所以导入证书还是有必要的。如果在电脑上安装证书,双击执行就可以出现导入向导,具体操作参见2.3 。

2.2 基础配置之远程代理

如果要抓取手机中的数据,我们就需要设置一下远程代理功能,要不手机的数据是无法被我们抓到的。在弹出的“选项”界面中,选择“连接”项,勾选:允许远程计算机连接。

2.3 基础配置之证书导入

如果感觉拷贝证书太麻烦,还有一种简单的方法,就是直接访问IP+8888端口号来访问Fiddler的回显服务,如我的IP是:10.70.26.66 则对应的地址应该是:http://10.70.26.66:8888。在打开的页面中,选择“FiddlerRoot certificate”进行下载安装。

下载完成后,点击打开。

在证书界面选择:安装证书。

存储位置存储选择默认,即:当前用户,点击 下一步。

在证书导入向导中选择默认,即:根据证书类型,自动选择证书存储,点击 下一步。

在导入向导导入完成后,有会完成的提示,点击 完成。

此时,证书已经导入成功,如果要在手机中进行抓包,通过手机浏览器打开同样下载和安装即可。

2.4 基础配置之手机代理设置

如果你需要在手机中抓包,则需要对手机进行设置。我们以Android手机为例,在设置中,找到 wlan 即网络连接。

在里面找到我们所连接的网络,并长按,在弹出的界面中选择 “修改网络”。

修改代理选项为“手动”,在代理 服务器主机名处输入你安装Fiddler的主机IP地址(需要注意的是它们要在一个局域网络下才行):10.70.26.66,在代理服务器端口处输入默认端口“8888”,保存即可。

大家需要注意的是,10.70.26.66是我个人的测试IP,具体是什么要查看一下安装Fiddler的主机IP地址才行。

到此为止就设置完成了,但是有的时候,在手机设置完成后,还不能抓包,那就把Fiddler关闭再打开一下就好拉。

三、界面简介

我们先来一张整体界面图,再进行看图说话。

  1. 第一区域:是系统菜单项。
  2. 第二区域:是系统快捷工具菜单。
  3. 第三区域:抓捕的请求会话列表,每一个请求就是一个会话。
  4. 第四区域:是request请求的详细信息(即发送的请求),可以查看Headers、Cookies、Raw、JSON等。
  5. 第五区域:是response信息,可以查看服务端返回的json数据或其它信息(即返回的请求)。
  6. 第六区域:是命令行模式,可以输入简单的指令如:cls,执行清屏的作用等。

3.1 会话列表简介

会话列表为第三区域窗口,这里主要显示的是所有网络连接的会话信息,显示的列有:#、Host、URL、Body、Content-Type、结果、协议、缓存、进程、注释以及自定义11列内容。

#号列:主要展示的是会话的先后中列表,并对其进行顺序编号,主要是方便我们查看与记录。同时编号前面的图标用来描述会话访问的类型。

  • 标记:使用HLS协议访问(就是HTTP转换成HTTPS),是为了建立http tunnel连接。建立http tunnel是因为网络环境受限,客户端无法直接访问某些网络,所以只能通过代理服务器访问网络,然后,将内容转发给客户端,从宏观上看,客户端与服务器端就像建立了一条隧道一样。

  • 标记:请求成功,即网络连接成功,通常也是get请求内容。

  • 标记:请求内容为图片。

  • 标记:请求内容为CSS样式内容。

  • 标记:发出一个GET请求的时候服务器会从缓存中调用你要访问的内容。

  • 标记:POST请求。

  • 标记:访问成功,但是访问失败。

  • 标记:访问内容不可达。

  • 标记:请求内容为文本内容。

  • 标记:(未知)

  • 标记:请求内容为JS信息。

  • 标记:请求内容为json信息

Host列:为主机地址或域名,通常情况下,是我们准备抓取的网站访问的地址或域名,也可能会出现“Tunnle to”,来实现地址的跳转。

URL列:为抓取网站的地址,这部分地址是除域名之外部分的地址。

Body列:为访问内容的大小。

Content-Type列:用于描述访问站点的网页的编码。

常见的媒体格式类型如下:

  • text/html : HTML格式
  • text/plain :纯文本格式
  • text/xml : XML格式
  • image/gif :gif图片格式
  • image/jpeg :jpg图片格式
  • image/png:png图片格式

以application开头的媒体格式类型:

  • application/xhtml+xml :XHTML格式
  • application/xml: XML数据格式
  • application/atom+xml :Atom XML聚合格式
  • application/json: JSON数据格式
  • application/pdf:pdf格式
  • application/msword : Word文档格式
  • application/octet-stream : 二进制流数据(如常见的文件下载)
  • application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

结果列:为访问页面的状态码,通过状态码可以了解到返回的状态信息。常见的 HTTP 状态码:

  • 200 – 请求成功
  • 301 – 资源(网页等)被永久转移到其它URL
  • 404 – 请求的资源(网页等)不存在
  • 500 – 内部服务器错误

协议列:访问页的传输协议,通常是http或https。

缓存列:常见的值有有private、public、no-store、no-cache、must-revalidate、max-age等。

进程列:用来描述什么进行正在被抓取。

注释以及自定义列:不详

3.2 Request简介

Request列表为第四区域窗口,是客户端发出去的请求数据。

标头:请求头,这里包含client、cookies、transport等。

文本视图:请求数据为文本内容的展示。

同步视图:清求数据为Web可视化模式展示。

Web表格:请求参数信息表格展示,更直观。可以直接该区域的参数。

Hex视图:16进制数据显示形式。

授权:授权相关,如果显示如下两行,说明不需要授权:

  • No Proxy-Authorization Header is present.
  • No Authorization Headeris present.

Cookies:查看cookie详情。

原始:查看一个完整请求的内容,可以直接复制。

JSON:查看json数据。

XML:查看xml文件的信息。

3.3 Response简介

Response列表为第五区域窗口,客户端请求后接收到的数据内容。

获取语法视图:语法突出显示的HTML、脚本、CSS和XML。

转换:响应的主体及编码模式。

标头:接收返回标头信息。

文本视图:接收到内容以文本形式展示。

同步视图:接收到内容以HTML形式展示。

图像视图:接收到内容以图像形式展示。

Hex视图:接收到内容以16进制形式展示。

Web视图:接收到内容以Web形式展示。

授权:授权相关。

缓存:缓存信息。

Cookie:查看cookie详情。

原始:接收的原始数据格式。

JSON:接收数据以json形式查看。

XML:接收数据以xml形式查看。

Fiddler 抓包工具简明教程相关推荐

  1. 十五、Fiddler抓包工具详细教程 — Fiddler抓包HTTPS请求(二)

    ###文章内容有配套的学习视频和笔记都放在了文章末尾### 5.查看证书是否安装成功 方式一: 点击Tools菜单 -> Options... -> HTTPS -> Actions ...

  2. Wireshark网卡抓包工具简明教程

    1. 捕捉过滤器 捕捉过滤器的语法与其它使用Lipcap(Linux)或者Winpcap(Windows)库开发的软件一样,比如著名的TCPdump.捕捉过滤器必须在开始捕捉前设置完毕,这一点跟显示过 ...

  3. Fiddler抓包:详解Fiddler抓包工具软件使用教程

    为什么要先学fiddler?学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始.结合抓包工具讲http协议更容易学一些. 抓firefox上https ...

  4. 全网最详细的Python+Requests接口测试教程:Fiddler抓包工具

    本篇涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容. 文章是针对零基础入门接口测试和py ...

  5. Python+Requests接口测试教程(1):Fiddler抓包工具

    本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容. 刚买须知:本书是针对零基础入门接口 ...

  6. Fiddler抓包安装使用教程

    Fiddler抓包安装使用教程 Fiddler 简介 Fiddler工作原理 下载与安装Fiddler 配置Fiddler HTTPS证书安装 设置过滤项 根据目标主机地址过滤 通过URL中关键字符过 ...

  7. Charles是Mac的Fiddler抓包工具

    windows下面我们经常使用 Fiddler 抓包工具进行代理等一系列操作.然而,在 Mac 下的 Fiddler 勉强能运行,但是其挫的都不想说它了.今天看到朋友推荐这款 Charles Mac下 ...

  8. Fiddler抓包工具如何设置过滤域名

    在做性能测试编写,测试脚本时,可以使用F12开发者工具,也可以使用FIddler抓包工具,当为弹框时,点击后页面消失的情况只能使用抓包工具,如何抓取比较干净的请求,那么需要设置域名. 步骤:1.打开f ...

  9. fiddler抓包工具:生成证书

    转载自:https://www.cnblogs.com/FR-Long/p/7255388.html fiddler抓包工具: 先对fiddler作一个简单描述: Fiddler是一个调试代理工具,它 ...

最新文章

  1. 阿里云oss云存储图片上传在wangEditor富文本编辑器上的集成
  2. 为什么总线要用一根来表示一bit
  3. 010_SpringBoot视图层技术thymeleaf-变量输出与字符串操作
  4. Bluetooth GAP介绍
  5. 关于Myeclipse2017 MemoryAnalyzer的安装
  6. Python3 面向对象程序设计
  7. ccf_201712-2
  8. SQL Server 连接字符串
  9. java websocket client,java基础面试笔试题
  10. IO流——字节流、字符流
  11. [php基础]PHP环境变量$_SERVER和系统常量详细说明
  12. linux centos需要MPEG-4 AAC解码器
  13. Ubuntu命令方式安装中文语言包
  14. springboot 集成J2Cache
  15. Ricequant米筐金工——因子分析
  16. 如何在微信小程序中使用echarts绘制地图(微信小程序制作疫情数据地图)
  17. 批处理 使用Win7照片查看器
  18. 风险预测模型_利用好预后预测模型,2个月发篇4分+SCI不是梦
  19. C++程序解线性一次方程组
  20. 摄影测量空间后方交会外方位元素的解算程序

热门文章

  1. sqlalchemy.exc.IntegrityError: (mysql.connector.errors.IntegrityError) 1062 (23000): Duplicate entry
  2. windows中tomcat查看和杀死进程
  3. 08 JavaScript(js)
  4. Linux源地址路由
  5. 华硕固件安装扩展插件_华硕RT-AC1200GU安装迅雷插件简要教程
  6. zblog php wordpress,zblogphp好用吗?个人站长使用zblog和wordpress对比后我的选择
  7. CAM350文件说明
  8. Word文档编辑时输入字符会替换掉光标后面的字符的问题
  9. java excel 电话号码_java使用poi读取excel时,电话号码变成了科学计数法,整数变成double,怎么改过来...
  10. java前段与后端是什么意思_java前端后端分别是指什么?