首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Fiddler 抓包工具 - 全网最全最细教程,没有之一

Fiddler 抓包工具 - 全网最全最细教程,没有之一

原创
作者头像
测试小琳达
修改于 2021-10-13 02:14:44
修改于 2021-10-13 02:14:44
5.6K0
举报

Fiddler 简介

Fiddler 是位于客户端和服务器端的 HTTP 代理 目前最常用的 http 抓包工具之一 功能非常强大,是 Web 调试的利器

  • 监控浏览器所有的 HTTP/HTTPS 流量
  • 查看、分析请求内容细节
  • 伪造客户端请求和服务器响应
  • 测试网站的性能解密 HTTPS 的 Web 会话
  • 全局、局部断点功能
  • 第三方插件

场景使用场景

  • 接口调试、接口测试、线上环境调试、Web 性能分析
  • 判断前后端 bug、开发环境 hosts 配置、mock、弱网断网测试

B/S 架构

编写程序部署到 Web 服务器 Web 服务器运行在服务器上,绑定 ip 地址并监听某端口,接收和处理 http 请求 客户端通过 http 协议获取服务器上的网页、文档等

工作原理

HTTP

Hyper Text Transfer Protocol(超文本传输协议) 用于从万维网服务器传输超文本到本地浏览器的传送协议 HTTP 协议是基于 TCP 的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输 HTML 页面的内容。默认端口是 80 http 是基于请求与响应模式的、无状态的、应用层的协议

完整的 HTTP 协议

完整的 http 协议包含请求和响应两块内容

HTTP 请求报文

HTTP 请求报文主要由请求行、请求头部、空一行、请求正文(请求体)4 部分组成

如下是 fiddler 某个会话的请求报文

请求方法( Request Method)

请求方法

备注

GET

请求资源

POST

提交资源

Head

获取响应头

PUT

替换资源

DELETE

删除资源

OPTIONS

允许客户端查看服务器的性能

TRACE

回显服务器收到的请求,用于测试或诊断

URL

Uniform Resource Locator:统一资源定位符,用于描述网上的资源 格式:schema://host[:port#]/path/.../[?query-string]

scheme:协议,如 http,https,ftp 等 host:域名或者 IP 地址 port:端口 path:资源路径 query-string:发送的参数

如:https://www.baidu.com/s?wd=柠檬班

请求头(Request Header)

请求头

描述

Host

主机 ip 地址或域名

User-Agent

客户端相关信息,如果操作系统、浏览器等信息

Accept

指定客户端接收信息类型,如:image/jpg,text/html,application/json

Accept-Charset

客户端接受的字符集,如 gb2312、iso-8859-1

Accept-Encoding

可接受的内容编码,如 gzip

Accept-Language

接受的语言,如 Accept-Language:zh-cn

Authorization

客户端提供给服务端,进行权限认证的信息

Cookie

携带的 cookie 信息

Referer

当前文档的 URL,即从哪个链接过来的

Content-Type

请求体内容类型,如 Content-Type:application/x-www-form-urlencoded

Content-Length

数据长度

Cache-Control

缓存机制,如 Cache-Control:no-cache

Pragma

防止页面被缓存,和 Cache-Control:no-cache 作用一样

HTTP 响应报文

HTTP 响应报文主要由状态行、消息报头、空一行、响应正文 4 部分组成

如下是 fiddler 某个会话的响应报文

状态码(Status Code)

用以表示网页服务器 HTTP 响应状态的 3 位数字代码

状态码

描述

1XX

提示信息,请求被成功接收

2XX

成功,请求被成功处理 200

3XX

重定向相关 304

4XX

客户端错误 404

5XX

服务器端错误 500

响应头(Response Header)

响应头

描述

Server

HTTP 服务器的软件信息

Date

响应报文的时间

Expires

指定缓存过期时间

Set-Cookie

设置 Cookie

Last-Modified

资源最后修改时间

Content-Type

响应的类型和字符集,如:Content-Type: text/html; charset=utf-8

Content-Length

内容长度

Connection

如 Keep-Alive,表示保持 tcp 连接不关闭,不会永久保持连接,服务器可设置

Location

指明重定向的位置,新的 URL 地址,如 304 的情况

GET 请求

格式 http://host:port/path?xx=aa&yy=bb 如: http://120.78.128.25:8080/futureloan/mvc/api/member/register?mobilephone=13555555528&pwd=123456 说明:

  • http/https:协议类型
  • host:服务器主机 ip 地址或域名
  • port:端口号,如果是 80 可以省略,其它端口必须指明
  • path:访问资源的路径
  • ?:分隔符,用于区别 path 和参数
  • xx=aa、yy=bb:请求参数列表
  • &:多个参数的连接符号

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(1)-HTTP和HTTPS基础知识
有的小伙伴或者童鞋们可能会好奇地问宏哥,不是讲解和分享抓包工具了怎么这里开始讲解HTTP和HTTPS协议了。这是因为你对HTTP协议越了解,你就能越掌握Fiddler的使用方法,反过来你越使用Fiddler,就越能帮助你了解HTTP协议。
北京-宏哥
2022/06/30
1.1K0
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(1)-HTTP和HTTPS基础知识
Http请求报文格式和响应报文格式
客户端连上服务器后,向服务器发出获取某个Web资源的消息,称之为客户端向服务器发送了一个HTTP请求。
chenchenchen
2022/03/09
8.9K0
Http请求报文格式和响应报文格式
HTTP报文格式及WireShark抓包分析
版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.net/zy010101/article/details/86552833
zy010101
2019/05/25
7.5K0
全网最全fiddler使用教程和fiddler如何抓包
来源:http://www.51testing.com 一、前言 抓包工具有很多,比如常用的抓包工具Httpwatch,通用的强大的抓包工具Wireshark.为什么使用fiddler?原因如下:
顾翔
2020/07/03
14.4K0
全网最全fiddler使用教程和fiddler如何抓包
学HTTP协议所要知道的基础知识(微总结)
1、网络本质 进行资源共享和信息传输。 2、基于网络的应用程序的本质 就是获取数据和传输数据给用户使用。 3、TCP/IP协议栈工作流程 实体层是不属于TCP/IP协议栈的一层。也就是说TCP/IP协议栈共计四层。 首先得接入网络,局域网或者广域网,在计算机接入网络的时候,也就是插入网线的时候本地路由器中的   路由表会更新数据,通过一定淘汰机制算法删除很久没有使用过的计算机ip以及mac地址,并对新加入组的计算 机新分配ip,在分配ip的过程中,路由表会通过ARP协议(地址解析协议)得到新接入计
汪凡
2018/05/29
6900
五千来字小作文,是的,我们是有个HTTP。
因为这个属性JSESSIONID比较重要,存储的是sessionId,这个要是被别人拿到的话,别人就可以冒充我在网站上做某些事情了,像我自己一样请求某些数据了
java小杰要加油
2021/05/13
5070
五千来字小作文,是的,我们是有个HTTP。
Http常用头部整理
3. HTTP允许传输任意类型的数据对象。类型由Content-Type加以标记。
疯狂的技术宅
2019/03/28
11.3K1
HTTP系列-报文结构详解
值得注意的是,在起始行中,每两个部分之间用空格隔开,最后一个部分后面应该接一个换行,严格遵循ABNF语法规范。
李林LiLin
2020/12/09
1.5K0
解析一次完整的HTTP请求与响应
图片来自:理解Http请求与响应http://android.jobbole.com/85218/
ZhangXianSheng
2019/05/28
1.8K0
Fiddler4抓包工具使用教程一
本文参考自http://blog.csdn.net/ohmygirl/article/details/17846199,纯属读书笔记,加深记忆 1、抓包工具有很多,为什么要使用Fiddler呢?原因如
郑小超.
2018/01/26
3.6K0
面试问你HTTP知识点?这篇搞懂秒杀90%知识点!
由于自身不带验证机制,任何人都可以上传文件,因此存在安全性问题,一般不使用该方法。
乔戈里
2019/07/10
1K0
面试问你HTTP知识点?这篇搞懂秒杀90%知识点!
HTTP初始(一)
HTTP是由HTTP请求和HTTP响应构成的。那么如何来发起一个HTTP请求呢?简单来说,你只要在浏览器网址栏中输入一个网址(URL),按下回车那么一个HTTP请求就发出了,界面发生了跳转或者数据发生了改变,就表明一个HTTP响应反馈来了。
东边的大西瓜
2022/05/05
6650
HTTP初始(一)
接口-Requests-HTTP报文详解
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。
wangmcn
2022/07/25
5.8K0
接口-Requests-HTTP报文详解
Http协议详解
若每个网站都有自己的规则,整个互联网就乱套了,而且用户访问也不是很方便,每个网站都要开发属于自己的客户端软件,致使运营成本变大。
贾维斯Echo
2023/10/18
5020
Http协议详解
HTTP协议学习
HTTP 于 1990 年问世。那时的 HTTP 并没有作为正式的标准被建立。现在的 HTTP 其实含有 HTTP1.0 之前 版本的意思,因此被称为
ruochen
2021/12/07
1.1K0
理解Request Headers 和 Response Headers
请求头由key/value对组成,每行为一对,key和value之间通过冒号(:)分割。请求头的作用主要用于通知服务端有关于客户端的请求信息
xyzzz
2021/04/26
1.9K0
Android-Http
HTTP 全称是 HyperText Transfer Protocal 即超文本传输协议。我们知道OSI模型把网络通信的工作分为7层,分别是:是物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而Http协议是应用层协议。当你上网浏览网页的时候,浏览器和 web 服务器之间就会通过 HTTP 在 Internet 上进行数据的发送和接收。HTTP是一个基于请求/响应模式的、无状态的协议,即我们通常所说的 Request/Response。补充:HTTP,UDP都是无状态协议,而TCP,FTP是有状态协议,关于什么是无状态协议可以简单理解为:请求都是独立的,一次Request对应一次Response。两次相邻的请求没有直接联系。但开发中的实际情况通常是,在 http 协议的基础上,web 应用引入 cookies,session,application 来保持 web 应用之间的状态。
android_薛之涛
2019/03/01
1K0
HTTP协议详解,真的是非常经典
【程序视点】助力打工人减负,从来不是说说而已!后续小二哥会继续详细分享更多实用的工具和功能。
程序视点
2025/04/30
2950
程序员都该懂点 HTTP
HTTP 全称是 HyperText Transfer Protocal ,即:超文本传输协议,从 1990 年开始就在 WWW 上广泛应用,是现今在 WWW 上应用最多的协议,HTTP 是应用层协议,当你上网浏览网页的时候,浏览器和 web 服务器之间就会通过 HTTP 在 Internet 上进行数据的发送和接收。HTTP 是一个基于请求/响应模式的、无状态的协议。即我们通常所说的 Request/Response
developerHaoz
2018/08/20
5300
HTTP协议详解
利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则从链路层往上走。如下:
小柒吃地瓜
2020/04/23
2.3K0
相关推荐
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(1)-HTTP和HTTPS基础知识
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档