使用Fiddler抓到包后分析

简介: 版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/51093923 在 fiddler4使用教程中已经介绍了Fiddler的原理和软件界面。
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/51093923

在 fiddler4使用教程中已经介绍了Fiddler的原理和软件界面。本文主要针对Fiddler的抓包处理。

Fiddler抓取HTTP请求。

抓包是Fiddler的最基本的应用,以本博客为例,启动Fiddler之后,在浏览器中输入http://blog.csdn.net/chaoyu168键入回车之后,在Fiddler的web session界面捕获到的HTTP请求如下图所示:

 

各字段的详细说明已经解释过,这里不再说明。需要注意的是#号列中的图标,每种图标代表不同的相应类型,具体的类型包括:

 

另外,注意请求的host字段。可以看到有来自多个www.csdn.net的子域名的响应,说明在大型网站的架构中,大多需要多个子域名,这些子域名可能是单独用于缓存静态资源的,也可能是专门负责媒体资源的,或者是专门负责数据统计的(如pingback)。

右键单击其中的一条请求。可以选择的操作有:save(保存请求的报文信息,可以是请求报文,可以是响应报文)。例如,我们保存的一条请求头信息如下:

 

不仅是单条session,Fiddler还支持保存所有抓取到的session(并支持导入),这对于抓取可疑请求然后保存,并在之后随时分析这些请求是很有帮助的。

如果想要重新发送某些请求,可以选中这些请求,然后点击工具栏中的reply.就可以重新发送选中的这些请求。

左键点击单条HTTP请求,可以在右侧的tab面板中看到如下信息:

1. Statistic

关于HTTP请求的性能和其他数据分析:

 

我们可以从中看出一些基本性能数据:如DNS解析的时间消耗是8ms,建立TCP/IP连接的时间消耗是8ms等等信息。

2. Inspectors

分为上下两个部分,上半部分是请求头部分,下半部分是响应头部分。对于每一部分,提供了多种不同格式查看每个请求和响应的内容。JPG 格式使用 ImageView 就可以看到图片,HTML/JS/CSS 使用 TextView 可以看到响应的内容Raw标签可以查看原始的符合HTTP标准的请求和响应头。Auth则可以查看授权Proxy-Authorization 和 Authorization的相关信息。Cookies标签可以看到请求的cookie和响应的set-cookie头信息。

 

3. AutoResponder

Fiddler比较重要且比较强大的功能之一。可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者得到的是Fiddler的内置响应。当勾选allow autoresponser 并设置相应的规则后(本例中的规则是将http://blog.csdn.net/chaoyu168的请求拦截到本地的文件layout.html,如下图所示

 

然后在浏览器中访问http://blog.csdn.net/chaoyu168,得到的结果实际为:

 

这刚好是本地layout.html的内容,说明请求已经成功被拦截到本地.当然也可以使用Fiddler的内置响应。下图是Fiddler支持的拦截重定向的方式:


因此,如果要调试服务器的某个脚本文件,可以将该脚本拦截到本地,在本地修改完脚本之后,再修改服务器端的内容,这可以保证,尽量在真实的环境下去调试,从而最大限度的减少bug发生的可能性。

不仅是单个urlFiddler支持多种url匹配的方式:

I. 字符匹配

如 example可以匹配 http://www.example.comhttp://example.com.cn

II. 完全匹配

EXACT开头表示完全匹配,如上边的例子

EXACT:http://blog.csdn.net/ohmygirl

III. 正则表达式匹配

以regex: 开头,使用正则表达式来匹配URL

如:regex:(?insx).*\.(css|js|php)$  表示匹配所有以css,js,php结尾的请求url

4. Composer。

老版本的fiddler中叫request-builder.顾名思义,可以构建相应的请求,有两种常用的方式构建请求:

(1)Parsed 输入请求的url之后executed即可,也可以修改相应的头信息(如添加常用的accept, host, referrer, cookie,cache-control等头部)后execute.

这个功能的常见应用是:“刷票”(不是火车票!!),如刷新页面的访问量(基于道德和安全原因,如果你真去刷票,刷访问量,本博客概不负责)

(2)Raw。使用HTTP头部信息构建http请求。与上类似。不多叙述

5. Filter

Fiddler另一个比较强大的功能。Fiddler提供了多维度的过滤规则,足以满足日常开发调试的需求。如下图示:


过滤规则有:

a. host和zone过滤。可以过滤只显示intranet或则internet的HTTP请求

也可以选择特定域名的HTTP请求

 

b. client process:可以捕获指定进程的请求。

这对于调试单个应用的请求很有帮助。

其他更多的设置可以参考fiddler的官方文档。


目录
相关文章
|
5月前
|
Java
Java的CAS机制深度解析
CAS(Compare-And-Swap)是并发编程中的原子操作,用于实现多线程环境下的无锁数据同步。它通过比较内存值与预期值,决定是否更新值,从而避免锁的使用。CAS广泛应用于Java的原子类和并发包中,如AtomicInteger和ConcurrentHashMap,提升了并发性能。尽管CAS具有高性能、无死锁等优点,但也存在ABA问题、循环开销大及仅支持单变量原子操作等缺点。合理使用CAS,结合实际场景选择同步机制,能有效提升程序性能。
|
消息中间件 存储 开发工具
消息队列 MQ产品使用合集之C++如何使用Paho MQTT库进行连接、发布和订阅消息
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
10月前
|
设计模式 机器学习/深度学习 缓存
基于PySide6的聚合翻译软件设计与实现
本项目基于PySide6框架构建多引擎聚合智能翻译系统,解决传统工具单一API依赖、切换繁琐及定制化不足的问题。系统采用分层架构,包含UI层、业务逻辑层和API层,运用策略模式、工厂模式等设计模式提升灵活性。核心功能包括翻译引擎抽象、智能路由选择与异步处理,支持无感切换、动态权重调整及非阻塞交互。优化策略涵盖LRU缓存与三级容错机制,确保高性能与稳定性。系统跨平台发布,具备插件化扩展能力,未来将探索机器学习质量预估与OCR支持等功能,适配企业级需求。
307 11
|
存储 XML vr&ar
软件体系结构 - 架构风格(12)超文本系统架构风格
【4月更文挑战第21天】软件体系结构 - 架构风格(12)超文本系统架构风格
532 0
|
机器学习/深度学习 编解码 计算机视觉
【深度学习】探秘PSD:合成到真实去雾框架的实例解析
【深度学习】探秘PSD:合成到真实去雾框架的实例解析
334 0
|
Shell Linux 测试技术
Android App性能评测分析-cpu占用篇
1、前言 很多时候在使用APP的时候,手机可能会发热发烫。这是因为CPU使用率过高,CPU过于繁忙,会使整个手机无法响应用户,整体性能降低,用户体验就会很差,也容易引起ANR等等一系列问题。
6086 0
|
SQL 缓存 监控
性能测试(23)——完整性能项目案例
性能测试需求分析与传统的功能测试需求有所不同 功能测试需求分析:重点在于分析被测系统的功能是否满足产品功能需求规格(正向、逆向) 性能测试需求分析:重点在于分析被测系统是否能满足特定的业务需求场景(时间、资源) 需要从业务场景、程序代码、服务器、硬件配置等多个维度分析系统可能存在性能瓶颈
5295 1
|
存储 消息中间件 运维
一文详解|Go 分布式链路追踪实现原理
在分布式、微服务架构下,应用一个请求往往贯穿多个分布式服务,这给应用的故障排查、性能优化带来新的挑战。分布式链路追踪作为解决分布式应用可观测问题的重要技术,愈发成为分布式应用不可缺少的基础设施。本文将详细介绍分布式链路的核心概念、架构原理和相关开源标准协议,并分享我们在实现无侵入 Go 采集 Sdk 方面的一些实践。
1706 0
一文详解|Go 分布式链路追踪实现原理
|
Linux 虚拟化 数据安全/隐私保护
VMware虚拟机环境下安装CentOS7保姆级教程
Linux是一个非常好用的操作系统,尤其是对于信息专业的同学来说是很好的操作环境。很多同学在尝试安装Linux系统时会有些手足无措,因此写一篇VMware虚拟机环境下安装Linux操作系统的教程。
1016 0
VMware虚拟机环境下安装CentOS7保姆级教程
|
Linux 网络安全 Docker
Docker报错:Unit firewalld.service could not be found
Docker报错:Unit firewalld.service could not be found
954 0