Fiddler抓包工具使用详解

Fiddler抓包工具

一.Fiddler的作用

1.能够监听http/https的流量,可以截获从浏览器或者客户端软件向服务器发送的http/https请求;
2.对已截获之后的请求,还能够查看请求中的内容;
3.能够方便进行前后端的调试,既能够伪造客户端的请求,还能够与伪造服务器的响应
4.能够去测试网站的性能
5.解密https的外部会话,因为https本身是一种加密的协议,可以通过fiddler进行解密操作
6.提供第三方的插件使用

二:Fiddler的工作原理

Fiddler相当于一个代理服务器(proxy)
'''两种代理模式'''
流模式:fiddler会实时把服务器返回给客户端的数据进行返回。
缓冲模式:fiddler会等待所有的请求都准备好了以后才返回给客户端

区别:缓冲模式下可以控制最后的服务器响应;而流模式不能控制,更贴近于浏览器本身的真实行为

根据具体的情况去选择
'''使用场景'''
1.开发环境的host配置
2.前后端接口连调,composer
3.定位线上bug,将发布文件代理到本地,快速定位线上bug
4.性能分析和优化,inspectors, timeline

三:界面介绍及使用

第一列:菜单栏
第二列:工具栏
(1)气泡:备注。添加之后在会话栏的Comment列中显示备注内容
(2)Replay:回放常用,重播一个会话;快捷键:“选中会话+R”
(3)清除会话面板:清除请求,过滤请求×
(4)Go:断点调试。配合状态栏上的断点工具。功能类似于debug
具体步骤:
1.选中请求
    2.点击断点调试
    3.一会之后,选中的会话进入调试状态
    4.点击go进行下一步
(5)Stream:代理模式。默认:缓冲模式,可以点击进行切换
(6)Decode:解压请求。解压http请求里面的东西,帮助查看
(7)Keep:指示fiddler的保持会话数目
(8)AnyProcess:捕获请求,只看需要的请求
(9)Find:查找请求。用颜色标注查找的请求
(10)Save:保存会话
(11)截图:默认5秒后截图
(12)计时器:第一次点击-开始计时;第二次点击-返回计时结果;第三次点击,清零,重新计时。使用右键点击将不计时
(13)Browser:启动浏览器
(14)Clear Cache:清除缓存
(15)TextWizard:编码解码文本内容
(16)Tearoff:浮窗
第三列:会话面板和详情和数据统计面板
'''会话面板'''
Server Ip:需要配置
点击rules,选择Customize Rules...
Ctrl+F : 搜索"static function Main()", 添加代码:
 FiddlerObject.UI.lvSessions.AddBoundColumn("Server IP",120,"X-HostIP");
然后重新启动fiddler即可

'''详情和数据统计面板'''
(1)Statistics:数据统计面板,性能分析
# 参数详解:
ClientConnected:客户端创建连接时间
ClientBeginRequest:客户端开始请求时间
GotRequestHeaders:获取请求头时间
ClientDoneRequest:客户端完成请求时间
ServerConnected:服务器创建连接时间
FiddlerBeginRequest:Fiddler代理服务器开始请求时间
ServerGotRequest:服务器获得请求时间
ServerBeginResponse:服务器开始响应时间
GotResponseHeaders:获取响应头时间
ServerDoneResponse:服务器完成响应时间
ClientBeginResponse:客户端开始响应时间
ClientDoneResponse:客户端完成响应时间

'''分为Modem与DSL两种传输介质评估'''
评估内容为:
RTT:往返时延
该数据体现了一个请求从发送到返回响应的时间,通过选择多个会话来得到这几个会话的总的信息统计,比如多个请求和传输的字节数。选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化

Elapsed:运行时间

'''提示世界范围内评估'''
美国西海岸地区
日本/北欧地区
中国地区
(2)Inspectors:对抓到的请求进行解包,查看具体的内容
上边是:清秋头
下边是服务器返回的信息
(3)AutoResponder: 文件代理,例如将一个需要服务端返回的文件,使用本地文件做代理
'''具体步骤'''
1.在decode中选中要代理的线上的文件
    2.拖拽至右边
    3.再次点击选中线上文件+R,进行回放,此时加载的是本地文件
(4)Composer:前后端接口连调,伪造请求。可以实现不写任何js代码的情况下实现与服务端的接口调试
'''具体步骤'''
1.选中请求拖拽
    2.获取信息,可对内容进行更改,伪造成一个请求,Excute执行
(5)Timeline:性能分析,对选择多个请求有意义
'''控制面板'''
(1)命令行工具:执行一些快捷操作
常见的命令有:
help 打开官方的使用页面介绍,所有的命令都会列出来
cls 清屏(ctrl+x也可以清屏)
select 选择会话的命令
?.png 用来选择png后缀的图片
bpu 截获request

(2)状态栏:
Capturing:开启/关闭fiddler的监听
Web Browsers:股票率会话选择

四:常用功能

1.AutoResponder:文件替换\线上bug调试
(1)可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者得到的是Fiddler的内置响应。
因此,如果要调试服务器的某个脚本文件,可以将该脚本拦截到本地,在本地修改完脚本之后,再修改服务器端的内容,这可以保证,尽量在真实的环境下去调试,从而最大限度的减少bug发生的可能性。
(2)不仅是单个url,Fiddler支持多种url匹配的方式:
I. 字符匹配 如 example可以匹配 http://www.example.com和http://example.com.cn
II.完全匹配 以EXACT开头表示完全匹配,如上边的例子 EXACT:http://blog.csdn.net/ohmygirl
III. 正则表达式匹配
以regex: 开头,使用正则表达式来匹配URL
如:regex:(?insx).*.(css|js|php)$
表示匹配所有以css,js,php结尾的请求url
(3)操作——模拟
2.Composer:前后端接口连调
选中一个接口——>拖拽到Composer面板;
'''准备工作:'''
接口请求方式、请求参数;
Get请求:参数直接写在接口里面
Post请求:参数写在Request Body里面
3.FiddlerScript: 网络限速,测试在不同网络下的请求运行状况
将请求代码话
为使用方便不去编写c#代码,可以去使用图形化插件

手机端监听参考网址
'''
https://blog.csdn.net/yue549433330/article/details/82745760
'''

五:web session的常用快捷键

CTRL+A: 选中所有的session;
ESC: 取消选中所有的session;
CTRL+I 反向选中;如果session已选中,则取消,否则选中;
CTRL+X 删除所有的session;
Delete: 删除选中的session;
Shift+Delete 删除所有未选中的session;
R 重新执行当前请求;
SHIFT+R 多次重复执行当前请求
U: 无条件重新执行当前请求,发送不包含If-Modified-Since 和 If-None– Match的请求头;
SHIFT+U 无条件地多次重复执行当前请求;
ALT+Enter 查看当前session的属性;
Insert:切换是否用红色粗体标记选中的session;
M 给选中的session添加描述
(0)

相关推荐

  • 网站前端性能优化终极指南

    image.png 性能黄金法则:80- 90%的终端用户响应时间花在下载前端,即页面上的所有组件:img.stylesheets.scripts等 1.缩小HTML.CSS和JavaScript 减 ...

  • HTTP/2做错了什么?刚刚辉煌2年就要被弃用了!?

    GitHub 19k Star 的Java工程师成神之路,不来了解一下吗! 最近一段时间以来,关于HTTP/3的新闻有很多,越来越多的国际大公司已经开始使用HTTP/3了. 所以,HTTP/3已经是箭 ...

  • 说说Python中HTTP常见响应状态码?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  • 网络/命令行抓包工具tcpdump详解

    概述 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  • 转载:Linux下抓包命令tcpdump详解

    2020-02-04 来源:Linux公社  作者:醉落红尘 tcpdump是一个命令行实用程序,可用于捕获和检查进出系统的网络流量. 它是网络管理员中用于排除网络问题和安全测试的最常用工具. 尽管名 ...

  • Fiddler抓包工具总结

    序章Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存等操作.也可以用来检测网络安全.反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小 ...

  • Fiddler抓包6-get请求(url详解)

    前言 上一篇介绍了Composer的功能Fiddler抓包5-接口测试(Composer),可以模拟get和post请求,get请求有些是带参数的,这种比较容易,直接放到url地址栏就行.有些get请 ...

  • 抓包工具fiddler都有哪些高级功能,一文带你全面了解它

    发送请求 在fiddler中也支持发送HTTP请求.就是通过Composer这个功能来进行发送请求 功能入口 功能介绍 Parsed:解析后的报文.它是已经格式化后的,在这里你只需要按照区域展示把相应 ...

  • [软技能] 第77天 你会抓包吗?都有用过哪些抓包工具?

    今日试题: 你会抓包吗?都有用过哪些抓包工具? 此开源项目四大宗旨:勤思考,多动手,善总结,能坚持 <论语>,曾子曰:"吾日三省吾身"(我每天多次反省自己). 前端面试 ...

  • 现场管理三大工具(详解)

    ◆ ◆ ◆ ◆ 01 .  现场管理三大工具之一:标准化 标准化是企业提升管理水平的两大车轮之一,是企业追求效率.减少差错的重要手段. 一.标准化 标准化是企业提升管理水平的两大车轮之一,是企业追求效 ...

  • 假阴K线的三种经典反包板战法详解

    假阴真阳K线定义: 当天K线的最高价和最低价都比前一天的高,开盘价大于收盘价,K线是阴线,是一根假阴实阳的上涨K线.(当天K线的最高价和最低价都比前一天的低,开盘价低于收盘价,K线是阳线,是一根假阳真 ...

  • Fiddler抓包1-抓firefox上https请求

    前言 fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书. 一.网页不安全 1.用fiddler抓包时候,打开百度网 ...