
我发现很多粉丝对抓包非常感兴趣,抓包可以实现很多功能,可是抓包究竟是怎么一回事,大家有没有搞清楚?今天我来给大家好好讲一讲。
市面上我们可以看到的数据包大部分是http或者https的数据包,除了这些之外其实还有很多种类的数据数据包,如TCP,UDP,websocket等其他种类的数据包,不同的数据包需要使用不同的抓包工具来实现。
抓包的核心本质是 拦截、解析、篡改客户端与服务端之间的网络通信数据包 ,从而实现对业务逻辑的逆向分析、参数校验绕过或数据伪造。在账号登录、会员权益、购物下单等场景中,抓包的作用是穿透前端页面的 "视觉障眼法",直接操作后端认可的核心通信数据。
一、 抓包的基础逻辑:网络通信的 "中间人"
客户端(APP / 网页)和服务端的通信流程原本是端到端的:
plaintext
客户端发起请求 → 网络传输 → 服务端接收并处理 → 服务端返回响应 → 客户端渲染展示
抓包工具(Fiddler/Charles/Wireshark)的本质是中间人代理,它会在设备网络链路中插入一个 "中转站",改写通信路径:
plaintext
客户端 → 抓包工具(拦截+解析+篡改) → 服务端
服务端 → 抓包工具(拦截+解析+篡改) → 客户端
所有数据包都必须经过抓包工具,这是实现后续功能的前提。
二、 不同协议数据包的抓包差异(对应账号 / 会员 / 购物场景)
你提到的 HTTP/HTTPS、TCP/UDP、WebSocket 是抓包中最常见的协议,不同协议的抓包方式和应用场景完全不同,直接决定了能否实现对应的功能:
|----------------|-------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------|
| 协议类型 | 抓包核心要点 | 账号 / 会员 / 购物场景应用 | 常用工具 |
| HTTP/HTTPS | 1. HTTP 明文传输,可直接解析请求头、请求体、响应体2. HTTPS 需要配置证书信任(如 Fiddler 根证书),解密 TLS 流量 | 90% 的业务场景:1. 账号登录:抓取登录请求的 username /password /token 参数2. 会员权益:抓取会员校验接口的 vip_id /expire_time 参数3. 购物下单:抓取下单请求的 price /sku_id /sign 签名参数 | Fiddler、Charles、小黄鸟 |
| TCP/UDP | 1. 传输层协议,无 "请求 / 响应" 概念,只有字节流2. 需要手动分析数据包的自定义协议格式(如包头长度、字段偏移) | 适用于加密程度高的 APP 场景:1. 账号登录:部分 APP 用 TCP 自定义协议传输登录数据2. 购物支付:支付通道的底层数据传输 | Wireshark、tcpdump |
| WebSocket | 1. 基于 HTTP 握手,之后是全双工的长连接通信2. 抓包工具可直接解析帧数据(文本 / 二进制) | 实时性高的场景:1. 会员实时通知:抓取会员权益变更的推送帧2. 购物秒杀:抓取秒杀商品的库存实时同步数据 | Fiddler(需开启 WebSocket 捕获)、Charles |
三、 抓包实现【点号、会员、购物】功能的核心步骤(以最常用的 HTTPS 为例)
以**点号实现原理"和"修改会员有效期"和"篡改商品价格"** 两个典型场景,拆解抓包的实操原理:
场景 1:抓包篡改参数,实现 "对别人封号"
- 这里我不教大家怎么实现我就简单分享一下原理,因为这个东西真的很刑,两年前我经常看到别人在群里面发一些广告,说什么"点号找我"什么的话术,我就觉得非常牛啊,他们怎么实现的,在这前面我自己研究了一段时间,我大概知道了是怎么一回事,其中里面有些细节还不知道,于是我就想付费了,结果别人就发给我一个小黄鸟还有一段文字【内容非常低俗】,然后他就教我怎么操作,其实就是通过抓一些包,把里面的账号换成别人的账号在加入这些恶意文字,就实现了这个功能,原理都是一样的。
场景 2:抓包篡改会员参数,实现 "免费会员"
- 环境准备
-
- 设备(手机 / 电脑)配置抓包工具代理(如小黄鸟、 Fiddler )
- 安装并信任抓包工具的根证书,解密 HTTPS 流量
- 定位核心接口
-
- 打开 APP,一般在登录的时候会发这个包,抓包工具会捕获到一系列请求
- 筛选出和会员相关的接口,通常路径包含
vip/member关键词,例如https://api.xxx.com/user/vip/info
- 解析响应数据
-
-
查看该接口的响应体,找到会员有效期的核心字段,例如:json
{
"vip_status": 1, // 1=会员 0=非会员
"expire_time": 1719628800, // 会员过期时间戳
"vip_level": 2 // 会员等级
}
-
- 篡改数据包(关键步骤)
-
- 在抓包工具中开启 "自动断点" 或 "手动拦截响应"
- 当服务端返回上述响应时,暂停数据包传输,修改
expire_time为一个很远的时间戳(如 2147483647,对应 2038 年) - 放行篡改后的数据包到客户端
- 前端渲染生效
-
- 客户端接收到篡改后的响应,会认为会员有效期确实到 2038 年,从而展示会员权益(如免广告、高清画质)
注意: 这种篡改仅对前端展示有效 。如果后端在核心业务接口(如下载会员视频、使用会员优惠券)会二次校验 expire_time****的真实性(如和数据库比对),则无法真正使用权益。想要彻底绕过,需要进一步逆向后端的校验逻辑(如签名算法)。
场景 3:抓包篡改购物参数,实现 "低价下单"
- 定位下单接口
-
- 在 APP 中提交订单,抓包捕获下单请求,通常路径包含
order/pay关键词,例如https://api.xxx.com/order/create
- 在 APP 中提交订单,抓包捕获下单请求,通常路径包含
- 解析请求参数
-
-
查看请求体中的核心参数,例如:json
{
"sku_id": "123456", // 商品ID
"price": 999, // 原价
"count": 1,
"sign": "a1b2c3d4e5f6" // 签名,防止参数篡改
}
-
- 篡改参数 + 绕过签名校验
-
- 直接修改
price为 0.01 后放行请求,大概率会被后端的sign签名校验拦截(签名是根据参数 + 密钥生成的) - 想要成功下单,需要逆向签名算法 :通过反编译 APP(如用 jadx 分析 APK),找到生成
sign的代码逻辑,再根据篡改后的price重新计算合法签名,替换请求中的sign值
- 直接修改
- 后端验证通过,下单成功
-
- 后端接收到篡改后的参数和合法签名,会认为是正常请求,从而生成 0.01 元的订单、
其实现在这样漏洞几乎是没有的,如果放在7-8年前还有可能,那现在有的是什么呢?可以通过并发请求来实现限购商品的数量突破,话不多说,直接上图

可以看到这个东西是限购2个的,我们怎么实现拿到七八个呢,我们就可以通过fidller来实现,把他的请求拦截下来,最后同时向服务器发送请求,这样就可能实现这个功能,可以说fiddller还是非常牛的,当然tb这些是不可能的,不过大家听听思路,可以用在其他地方
【需要fiddller中文版的】可以回复【fiddller】



四、 抓包的核心难点与对抗手段
抓包并非 "万能",很多平台会针对抓包做反爬 / 反调试,这也是逆向工程师需要突破的关键点:
- 证书校验:APP 内置证书黑名单,检测到抓包工具的根证书就拒绝请求(解决方案:Hook 证书校验函数,如用 Xposed 框架的 JustTrustMe 模块或者算法助手)
- 证书锁定(SSL Pinning):APP 只信任自己内置的服务端证书,不接受系统信任的证书(解决方案:Frida Hook 掉 SSL Pinning 相关方法)
- 参数签名:关键参数(如价格、会员等级)都带有签名,篡改后必须重新计算签名才能通过校验(解决方案:逆向签名算法,提取密钥)
- 协议混淆:使用自定义 TCP 协议或加密的 WebSocket 帧,无法直接解析(解决方案:动态调试 APP,抓取内存中的明文数据)
五、 合法边界提醒
抓包的核心用途是 "技术研究" 和 "企业内部安全测试"。
- 未经授权抓取、篡改他人平台的数据包,用于牟利(如低价下单、破解会员),属于违法行为。
工具下载地址:
fiddller简体中文版:
打开「夸克APP」链接:https://pan.quark.cn/s/ef9eed55cb8c
小黄鸟:
打开「夸克APP」链接:https://pan.quark.cn/s/ae9a805a039b
提取码:FxS8