Bootstrap

Fiddler下载、安装及使用

参考:
https://blog.csdn.net/weixin_46806288/article/details/124952885
https://www.cnblogs.com/wuxuanlin/p/16070738.html


本文内容主要转自 https://blog.csdn.net/weixin_46806288/article/details/124952885,在此基础上进行了部分修改,方便日后使用。

Fiddler是位于客户端和服务器端之间的代理,也是一款好用的抓包工具。打开Fiddler的时候,它会自动给我们的电脑创建一个系统代理,默认监听端口为8888。可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。

一、Fiddler下载

注意:Fiddler2需要.Net v2,Fiddler4需要.Net v4,不管这些一般不需要管,下载用默认的就好了。
官网下载:https://www.telerik.com/download/fiddler
在这里插入图片描述

二、Fiddler安装

1.运行FiddlerSetup.exe
在这里插入图片描述
2.安装Fiddler
在这里插入图片描述
3.选择安装路径,点击install
在这里插入图片描述
4.安装完成
在这里插入图片描述
5.进入安装文件所在位置,点击Fiddler.exe
在这里插入图片描述

三、Fiddler使用

Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并截取到数据。当打开Fiddler时,它就已经设置好浏览器代理了。当我们关闭它的时候,它又会把代理还原。但如果Fiddler非正常退出会影响网络无法访问,需要重新启动Fiddler并再次关闭就可以继续访问网页了。

1.开启或关闭抓包功能

Fiddler想要抓到数据包,要确保Capture Traffic是开启状态,在“File ----> Capture Traffic”。开启后在页面左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。
在这里插入图片描述

2.菜单说明

Fiddler开始工作了,抓到的数据包就会显示在列表里面。
在这里插入图片描述

名称含义
#抓取HTTP Request的顺序,从1开始,依次递增
ResultHTTP状态码
Protocol请求使用的协议,如HTTP/HTTPS/FTP等
Host请求地址的主机名
URL请求资源的位置
Body该请求的大小
Caching请求的缓存过期时间或者缓存控制值
Content-Type请求响应的类型
Process发送此请求的进程:进程ID
Comments允许用户为此回话添加备注
Custom允许用户设置自定义值
图标含义
#请求已经发往服务器
Result已从服务器下载响应结果
Protocol请求从断点处暂停
Host响应从断点处暂停
URL请求使用HTTP的HEAD方法,即响应没有内容(Body)
Body请求使用HTTP的POST方法
Caching请求使用HTTP的CONNECT方法,使用HTTPS协议建立连接隧道
Content-Type响应是HTML格式
Process响应是一张图片
Comments响应是XML格式
在这里插入图片描述响应是CSS格式
Custom响应式JSON格式
在这里插入图片描述响应是一个音频文件
在这里插入图片描述响应是一个视频文件
在这里插入图片描述响应是一个SilverLight
在这里插入图片描述响应是一个FLASH
在这里插入图片描述响应是一个字体
在这里插入图片描述普通响应成功
在这里插入图片描述响应是HTTP/300、301、302、303或307重定向
在这里插入图片描述响应是HTTP/304(无变更):使用缓存文件
在这里插入图片描述响应需要客户端证书验证
在这里插入图片描述服务端错误
在这里插入图片描述会话被客户端、Fiddler或者服务端终止

3.Statistics请求的性能数据分析

左边左侧介绍完了,现在介绍右侧;随意点击一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析了。
在这里插入图片描述

4.Inspectors查看数据内容

Inspectors是用于查看会话内容,上半部分是请求的内容,下半部分是响应的内容;
在这里插入图片描述

5.AutoResponder允许拦截指定规则的请求

AutoResponder允许拦截指定规则的请求,并返回本地资源或Fiddler资源,从而代替服务器响应。
看下图5步,将“baidu”这个关键字与我的电脑“f:\Users\YukiO\Pictures\boy.jpeg”这张图片绑定了,点击“Save”保存后勾选“Enable rules”,再访问baidu就会被劫持。
在这里插入图片描述
这里面有很多匹配规则,如:
1、字符串匹配(默认):只要包含指定字符串(不区分大小写),全部认为是匹配
字符串匹配(baidu)是否匹配

http://www.baidu.com 匹配
http://pan.baidu.com 匹配
http://tieba.baidu.com 匹配

2.正则表达式匹配:以“regex:“开头,使用正则表达式来匹配,这个是区分大小写的
字符串匹配(regex:.+.(jpg | gif | bmp ) $) 是否匹配

http://bbs.fishc.com/Path1/query=foo.bmp&bar 不匹配
http://bbs.fishc.com/Path1/query=example.gif 匹配
http://bbs.fishc.com/Path1/query=example.bmp 匹配
http://bbs.fishc.com/Path1/query=example.Gif 不匹配

6.Composer自定义请求发送服务器

Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求。
Parsed模式下只需要提供简单的URLS地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent)
在这里插入图片描述

7.Filters请求过滤规则

Filters是过滤请求用的,左侧的窗口不断的更新,当想看系统的请求的时候,刷新浏览器会出现一大片不知道哪里来的请求,而且这些请求会一直刷新。这个时候我们就可以利用过滤规则来过滤掉那些不想看到的请求。
勾选右上角的User Filters开启过滤器,这里有两个最常用的过滤条件:Zone和Host
在这里插入图片描述

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

在这里插入图片描述

7.2Host指定显示某个域名下的会话:

  • No Host Filter:不通过主机名过滤
  • Hide the following Hosts:隐藏不显示下边输入的主机名的请求
  • Show only the following Hosts:只显示下边输入的主机名的请求
  • Flag the following Hosts:标记下边输入的要过来的主机名的请求,黑色粗体标记
    在这里插入图片描述
    输入框:填写主机名,输入框中多个host时用分号分隔(如果框框为黄色(如图),表示修改未生效,点击红色圈里的文字即可!)
    在这里插入图片描述

7.3Action:要做什么操作

  • Run Filterset now:马上执行过滤
  • Load Filterset:加载本地过滤设置文件
  • Save Filterset:保存过滤条件

在这里插入图片描述
点击Actions,选择Run Filterset now,则过滤出指定host请求,可以Save Filterset 保存一份,以备后续直接导入使用
在这里插入图片描述

7.4其它过滤方法

在这里插入图片描述

8.Timeline请求响应时间

在左侧会话窗口点击一个或多个(同时按下Ctrl键),Timeline便会显示指定内容从服务端传输到客户端的时间:
在这里插入图片描述

9.Fiddler解密HTTPS加密请求

在这里插入图片描述
如上图所示,请求左侧是一个🔒的样式,右边返回内容中提示了"This is a CONNECT tunnel, through which encrypted HTTPS traffic flows"。
这时,需要我们配置Fiddler来解析这些加密的请求,根据第二行那句"enable the Tools > Options > HTTPS > Decrypt HTTPS traffic option."
依次点击:
(1)Tools –> Fiddler Options –> HTTPS;
在这里插入图片描述
(2)勾选Decrypt HTTPS traffic,点击Actions ----> Trust Root Certificate,选择Yes就可以了
在这里插入图片描述
(3)点击OK
在这里插入图片描述

10.Fiddler内置命令与断点

Fiddler还有一个藏得很深的命令框:
在这里插入图片描述
Fiddler断点功能就是将请求截获下来,但是不发送,这个时候我们可以干很多事,比如说,把包改了,再发送给服务器…

命令对应请求项介绍示例
?All问号后边跟一个字符串,可以匹配出包含这个字符串的请求?google
>Body大于号后面跟一个数字,可以匹配出请求大小,大于这个数字请求>1000
<Body小于号跟大于号相反,匹配出请求大小,小于这个数字的请求<100
=Result等于号后面跟数字,可以匹配HTTP返回码=200
@Host@后面跟Host,可以匹配域名@www.baidu.com
selectContent-Typeselect后面跟响应类型,可以匹配到相关的类型select image
clsAll清空当前所有请求cls
dumpAll将所有请求打包成saz压缩包,保存到“我的文档\Fiddler2\Captures”目录下dump
startAll开始监听请求start
stopAll停止监听请求stop

断点命令

命令对应请求项介绍示例
bpafterAllbpafter后边跟一个字符串,表示中断所有包含该字符串的请求bpafter baidu(输入bpafter解除断点)
bpuAll跟bpafter差不多,只不过这个是收到请求了,中断响应bpu baidu(输入bpu解除断点
bpsResult后面跟状态吗,表示中断所有是这个状态码的请求bps 200(输入bps解除断点)
bpv / bpmHTTP方法只中断HTTP方法的命令,HTTP方法如POST、GETbpv get(输入bpv解除断点)
g / goAll放行所有中断下来的请求g

bpafter 命令示例:
在这里插入图片描述
在这里插入图片描述
断点命令:

断点可以直接点击Fiddler下图的图标位置,就可以设置全部请求的断点,断点的命令可以精确设置需要截获那些请求。如下示例:
在这里插入图片描述

11.Fiddler收集抓包

要通过Fiddler对手机抓包,需要保证Fiddler所在的电脑和手机必须处在同一个局域网内,即连着同一个路由器
win10进入系统设置–>移动热点–>与其他设备共享我的Internet连接,选择开启,让手机连上电脑的热点
在这里插入图片描述
在这里插入图片描述
Fiddler配置连接信息,Tools–>Options–>Connections,设置代理端口是8888,勾选Allow remote computers to connect,点击ok
在这里插入图片描述
在Fiddler中就可以看到本机的无线网卡IP了,也可以cmd–>ipconfig查看
在这里插入图片描述
在这里插入图片描述
手机端设置电脑的wifi,HTTP代理–>配置代理,改为手动,服务器为上图中的IP,端口是8888
在这里插入图片描述
在这里插入图片描述
访问网页输入代理IP和端口,下载Fiddler的证书
在这里插入图片描述
在这里插入图片描述
证书安装完成后,用手机访问应用时,就可以看到抓取到的数据包了
在这里插入图片描述

;