Fiddler实现 HTTP 网络抓包

简介: Fiddler实现 HTTP 网络抓包

前言

前面我们简单地学习了关于应用层——自定义协议的知识,但是这都只是自定义协议,在实际生活中自定义协议用的还是占少数的,在应用层中比较常用的协议是 HTTP 协议,在学习这两个协议之前,我们需要使用到一个工具——Fiddler来实现 HTTP 的抓包来查看它们的请求和响应报文。

Fiddler 是什么

Fiddler是一个HTTP协议调试代理工具,它能够记录并检查所有电脑和互联网之间的HTTP通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie、html、js、css等文件)。


如果只是客户端和服务器端之间的通信,我们其实很难查看到客户端的请求数据包和服务端的响应数据包,我们客户端得到的只是请求数据包和响应数据包经过处理之后得到的,既然要学习 HTTP 协议,我们首先要学习它的报文格式,学习他的报文格式就需要得到它的报文格式,要想获取到 HTTP 的请求和响应报文,就需要借助到抓包工具来抓取到 HTTP 数据包。


Fiddler 是专门来负责抓取 HTTP 数据包的,其他工具虽然也可以抓取 HTTP 数据包,但是因为 Fiddler 是专门抓取 HTTP 数据包的,所以相较于其他软件,抓取 HTTP 数据包我们还是使用 Fiddler。


下载 Fiddler

1. 官网下载 Fiddler Classic

进入 Fiddler 官网https://www.telerik.com/fiddler


Fillder Everywhere 虽然功能更多,但是需要支付一定的费用,所以我们选择 Fiddler Classic免费版。找到下面的 Fiddler Classic 点击 Try For Free


简单填写信息后便可下载



2. 安装 Fiddler Classic

下载完成 Fiddler Classic 的安装包之后就是安装了,安装过程很简单。


3. 打开 Fiddler Classic

打开 Fiddler 之后可能会出现这样的提示,我们点 NO 就可以了。


打开之后出现的是这样的界面

但是你们出现的抓包数据可能没有那么多并且抓取到的都是 HTTP 数据包,而没有 HTTPS 数据包,要想抓取到 HTTPS 数据包,还需要做出相关的配置。点击 Tools 、Options


选择 HTTPS ,然后将出现的所有选项都勾选上。

在勾选过程中可能会弹出提示,这里弹出来的是安全证书,我们选择YES,记住了,这里一定要选择 YES ,否者就需要卸载重装了。


左边显示的就是我们 Fiddler 抓取到的 HTTP 数据包和 HTTPS 数据包

当我们访问 www.baidu.com 的时候左边会抓取到很多的数据包,我们不用管那么多,只需要看这个蓝色的就可以了。


双击抓取到的 HTTP 数据包之后,右边就会显示出 HTTP 数据包的请求数据包和响应数据包。

通过点击请求数据包的 Row 和 View In Notepad 可以记事本打开。


查看下面的响应部分我们可以发现,响应数据包出现的是乱码,那么为什么这里会出现乱码呢?因为当服务器在返回响应的时候会对这个数据吧进行压缩来节省网络带宽,如果每个响应数据包都不压缩的话,那么就会造化网络带宽的浪费,所以我们需要对这个压缩的数据包进行解压缩。

解压缩之后,同样是点击 Row,查看详细的数据格式。


点击左边部分,然后使用 CTRL + a 、delete 可以删除抓取到的数据包。


相关文章
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
590 61
|
11月前
|
存储 网络协议 算法
从HPACK到多路复用,揭秘HTTP/2如何终结网络拥堵
HTTP/2通过HPACK压缩头部冗余信息,提升传输效率;并利用多路复用技术,在单个TCP连接上并行处理多个请求,避免队头阻塞,显著提升性能。同时支持服务器推送和流优先级设置,优化资源加载体验。
647 7
|
域名解析 存储 安全
HTTP【网络】
HTTP协议格式、HTTP的方法 、HTTP的状态码、HTTP常见的Header
1814 6
HTTP【网络】
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
432 19
|
JSON 编解码 API
Go语言网络编程:使用 net/http 构建 RESTful API
本章介绍如何使用 Go 语言的 `net/http` 标准库构建 RESTful API。内容涵盖 RESTful API 的基本概念及规范,包括 GET、POST、PUT 和 DELETE 方法的实现。通过定义用户数据结构和模拟数据库,逐步实现获取用户列表、创建用户、更新用户、删除用户的 HTTP 路由处理函数。同时提供辅助函数用于路径参数解析,并展示如何设置路由器启动服务。最后通过 curl 或 Postman 测试接口功能。章节总结了路由分发、JSON 编解码、方法区分、并发安全管理和路径参数解析等关键点,为更复杂需求推荐第三方框架如 Gin、Echo 和 Chi。
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
436 22
|
网络安全
网络问题解析:如何解决CondaHTTPError HTTP 000 CONNECTION FAILED错误。
以上就是斯诺普为你准备的解决Conda出现HTTP连接错误的手术室。希望这辆小车可以顺利驶出棘手的泥潭,再次在自由的大路上疾驰。一切的尝试和努力,只为更好的探索与开发。
568 17
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
JSON Dart 前端开发
鸿蒙应用开发从入门到入行 - 篇7:http网络请求
在本篇文章里,您将掌握鸿蒙开发工具DevEco的基本使用、ArkUI里的基础组件,并通过制作一个简单界面掌握使用
1137 8
|
存储 JSON 缓存
【网络原理】——HTTP请求头中的属性
HTTP请求头,HOST、Content-Agent、Content-Type、User-Agent、Referer、Cookie。

热门文章

最新文章