Fiddler入门


一、Fiddler介绍

  1. Fiddler是位于客户端和服务器端之间的代理,也是目前最常用的抓包工具之一 。
  2. Fiddler能够记录客户端和服务器之间的所有请求,可以针对特定的请求,分析请求数据、设置断点、调试http/https应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是http/https调试的利器。

二、Fiddler安装

  1. fiddler工具下载网址:http://www.telerik.com/download/fiddler
  2. 运行 FiddlerSetup.exe,一路下一步。
  3. 安装完成后,运行Fiddler即可。

三、Fiddler原理

在这里插入图片描述

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

四、Fiddler设置THHPS

  1. 点击Tools – > Options
  2. 点击HTTPS标签
  3. 如图:
    在这里插入图片描述
  4. 下载Fiddler调试证书,在浏览器访问: http://localhost:8888在这里插入图片描述
  5. 安装证书,双击安装,一路下一步
    在这里插入图片描述
  6. Fiddler设置信任证书
    在这里插入图片描述
  7. 验证成果,打开百度
    在这里插入图片描述

五、请求图标的含义

在这里插入图片描述

六、工具栏含义

在这里插入图片描述

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

七、Statistics选项卡

在这里插入图片描述

字段解释
request count请求数,表示该session总共发起了多少个请求
Bytes sent发送请求的字节数(包括请求头和请求体)
Bytes received接收到的字节数(包括响应头和响应体)
ClientConnected客户端连接的时间
ClientBeginRequest客户端开始发送请求的时间
GotRequestHeaders获得请求头文件的时间
ClientDoneRequest客户端完成请求的时间
Determine Gateway确定网关使用的时间
DNS Lookup查找dns使用的时间
TCP/IP Connectttcp/ip 连接使用的时间
HTTPS Handshakehttps握手使用的时间
ServerConnected服务连接发生的时间
FiddlerBeginRequestfiddler开始请求的时间
ServerGotRequest服务器得到请求的时间
ServerBeginResponse服务器开始响应的时间
GotResponseHeaders得到响应头文件的时间
ServerDoneResponse服务器完成响应的时间
ClientBeginResponse客户端开始响应的时间
ClientDoneResponse客户端完成响应的时间
Overall Elapsed全部花掉的时间(使用客户端完成响应的时间-客户端开始请求的时间)

八、Inspectors选项卡

在这里插入图片描述

1、请求部分

标签注释
Headers显示头部信息
TextView、SyntaxView、WebForms、HexView、JSON、XML不同显示方式,需要根据请求的不同格式进行选择。一个请求不可能满足所有方式进行显示
Auth认证信息
Cookiescookie信息
Raw请求的完整信息,这里可以看到请求的方法、地址、路径、协议版本、头信息和参数等

2、响应部分

标签注释
Headers显示头部信息
TextView、SyntaxView、ImageView、HexView、WebView、JSON、XML不同显示方式,需要根据请求的不同格式进行选择。一个请求不可能满足所有方式进行显示
Auth认证信息
Caching缓存信息
Cookiescookie信息
Raw请求的完整信息,这里可以看到请求的方法、地址、路径、协议版本、头信息和参数等

九、Filters 选项卡

开启Fiddler后,默认会监听所有的请求,在实际运用中,我们只需要监听某些部分的请求。这个时候就可以使用,Filters功能去控制,过滤掉不必要的请求。
在这里插入图片描述

1、内外网过滤方式

选项注释
Show only Intranet Hosts只显示内网hosts
Show only Internet Hosts只显示外网hosts

2、规则过滤方式

选项注释
Hide the following Hosts隐藏以下hosts
Show only the following Hosts只显示以下hosts
Flag the following Hosts标记以下hosts,在左侧session中会加粗

3、进程过滤方式

在这里插入图片描述

进程过滤,通过配置,只监听/不监听哪些进程的请求

选项注释
Show only traffic from只显示来自后面选择进程的请求
Show only Internet Exporer traffic只显示来自IE的请求
Hide trafficfrom service host隐藏来自service host的请求

4、请求头过滤方式

在这里插入图片描述

选项注释
Show only if URL contains只显示URL包含的,多个时空格分开
Hide if URL contains隐藏URL包含的,多个时空格分开
Flag requests with headers加粗显示HTTP请求头中包含指定的HTTP请求头的类型名称
Delete request headers删除HTTP请求头中包含指定的HTTP请求头的类型名称
Set request header创建一个指定名称和值的HTTP请求头,或更新HTTP请求头为指定值。运行后会将所有的Sessions修改

5、断点过滤方式

在这里插入图片描述
对特定属性的请求或响应设置断点

选项注释
Break request on POSTPOST请求设置断点
Break request on GET with query stringGET方法且URL中包含查询条件的请求设置断点。(URL中包含参数params)
Break on XMLHttpRequest通过XMLHttpRequest对象发送的请求设置断点。通过查找请求头中是否含有X-Requested-With和X-Download-Initiator
Break response on Content-Type响应头Content-Type中包含了指定的文本设置断点

6、响应状态码过滤方式

在这里插入图片描述

选项注释
Hide success(2xx)隐藏状态码在200至299的响应
Hide non-2xx隐藏非200至299的响应
Hide Authentication demands(401,407)隐藏状态码为401,407的响应。需要用户进一步确认证书的请求
Hide redirects(300,301,302,303,307)隐藏状态码为300,301,302,303,307重定向的响应
Hide Not Modified(304)隐藏状态码为304的响应。缓存实体有效返回304

7、响应类型和大小过滤方式

在这里插入图片描述
在这里插入图片描述

选项注释
Show only IMAGE/*只显示Content-Type是图像类型的Session
Show only HTML只显示Content-Type是HTML类型的Session
Show only TEXT/CSS只显示Content-Type是text/css类型的Session
Show only SCRIPTS只显示Content-Type是脚本类型的Session
Show only XML只显示Content-Type是xml类型的Session
Show only JSON只显示Content-Type是json类型的Session
Hide IMAGE/*隐藏Content-Type是图片类型的Session
Time HeatMap基于服务器返回响应时间给每个Session设置背景色。小于50ms绿色,50-300ms不着色,300-500ms黄色,大于500ms红色
Hide smaller than隐藏响应体小于指定字节数的响应
Hide larger than隐藏响应体大于指定字节数的响应
Block script files返回响应头Content-Type为脚本,将返回HTTP/404响应
Block image files返回响应头Content-Type为图像,将返 回HTTP/404响应
Block SWF files返回响应头Content-Type为flash,将返回HTTP/404响应
Block CSS files返回响应头Content-Type为css,将返回HTTP/404响应

8、响应头过滤方式

在这里插入图片描述
可以添加或删除HTTP响应头,也可以标识包含特定响应头的响应

选项注释
Flag responses that set cookies粗体显示响应头包含Set-Cookie的响应
Flag responses with headers粗体显示指定HTTP响应头。同Flag requests withheaders
Delete responses headers删除特定的HTTP响应头。只是从响应头中删除,不删除Session
Set response header创建更新响应头。同Set request header用法一样

十、Composer选项卡

1、Parsed标签页

  • 手动填写请求,修改各项参数进行测试
    在这里插入图片描述

  • 拖拽抓取到的接口,然后修改参数进行测试
    在这里插入图片描述

2、Paw标签页

Raw标签,只提供了一个文本框,可在文本框中输入HTTP请求内容(请求行+请求头+请求体)
在这里插入图片描述

3、Scratchpad标签

  • Scratchpad标签,这个模块是用来保存请求的
  • 我们可以复制多个请求内容在这个页面,Fiddler会自动保存这个界面的全部内容(关闭Fiddler再重新打开,这些请求还是存在的)
  • 执行时需要选中某个请求内容,点击上方的“execute”可发送请求。若未选中任何内容则会提示“in the box below , please highlight the complete HTTP request to be sent before pressing Execute
    在这里插入图片描述
    选中需要执行的接口,即可执行。
    在这里插入图片描述

4、Options标签

在这里插入图片描述

标签注释
Inspect Session执行请求后,会自动打开Inspectors选项卡
Fix Content-Length header控制Composer是否会自动添加或修改Content-Length请求头,表示请求体的大小
Follow Redirects是否会自动使用响应的Location头
Automatically Authenticate是否会自动响应服务器的认证需求
Tear off使Composer选项卡以独立的窗口悬浮

十一、移动端抓包

1、Fiddler端设置

使用Fiddler进行移动端的抓包,需要先设置允许远程访问代理服务
在这里插入图片描述

2、手机端设置

  • 确保手机网络和Fiddler所在的电脑处于同一个局域网,一般有两种方式:(电脑开热点,手机连接电脑的热点;电脑和手机连接同一个wifi)
  • 设置手机的网络代理服务为Fiddler的服务地址
    在这里插入图片描述
  • 手机上安装Fiddler调试证书
  • 在浏览器中访问http://ip:8888则会打开证书下载一路下一步按照提示完成证书安装(每个厂家的手机都不太一样,具体可以百度)
    在这里插入图片描述
    在这里插入图片描述

注意

  • IOS:设置 —> 通用 —> 关于本机 —> 受信任证书存储区,找到需要安装的证书,安装即可。
  • 设置完成后,需要重启Fiddler,重启后,就可以抓到移动端的数据包了

写在最后

  • 本文章主要用于学习,欢迎转载!
  • 如用问题,可联系作者!
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值