AngerPacket 使用手册
从安装到精通,每一步都有图有真相。不会编程也能看懂!
5分钟快速上手
下载并启动 AngerPacket
根据你的系统使用上方一键安装命令或下载双击运行。终端会显示管理地址。
代理端口: 1080
打开浏览器访问后台
浏览器输入 https://127.0.0.1:20000,用默认账号密码登录。
默认密码: admin123
配置代理用户
进入「用户管理」→ 创建一个代理账号(用户名+密码),这个账号将用于你的APP/游戏连接代理。
设置APP/游戏代理
在你的手机/模拟器/电脑上设置代理:
服务器: 你电脑的IP地址
端口: 1080
用户名: 你创建的账号
密码: 你设置的密码
开始抓包!
回到后台 → 点击「封包面板」,你就能实时看到所有经过代理的流量!每条封包都显示方向、大小、十六进制内容。
下载与安装
单文件分发,一行命令启动。支持 Linux / Windows / macOS 全平台。
系统要求
操作系统
Linux 3.10+ / Windows 10+ / macOS 11+
CPU 架构
amd64 / x86_64 / arm64
内存
≥ 128 MB
磁盘
≥ 50 MB(含数据库)
angerconfig/ 文件夹存放所有配置和数据。不要删除这个文件夹!
代理设置详解
AngerPacket 的代理是什么?
简单说:AngerPacket 在你的电脑上开了一个 SOCKS5 代理服务器。你把手机/模拟器/其他程序的网络流量指向这个代理,所有流量就会先经过 AngerPacket,然后你就能看到、修改这些流量。
你的设备 → 代理服务器 → 目标网站/游戏服务器
如何设置代理?(以安卓为例)
如果是局域网搭建请确保手机和电脑在同一个WiFi下
查看电脑/服务器IP:终端输入 ifconfig(Linux/Mac)或 ipconfig(Windows)
在代理客户端配置socks5
主机名: 192.168.1.100 (换成你电脑的局域网IP/服务器ip)
端口: 1080
用户名: 你创建的用户名
密码: 你设置的密码
代理端口和Web端口
| 端口 | 默认值 | 用途 |
|---|---|---|
| Web管理端口 | 20000 | 浏览器访问后台管理界面(HTTPS) |
| SOCKS5代理端口 | 1080 | 设备连接此端口使用代理 |
| 兑换API端口PRO | 配置决定 | 卡密兑换接口 |
| 代理控制台PRO | 30000 | 二级代理登录管理 |
抓包查看
这是最核心的功能!在后台「封包面板」中,你能看到所有经过代理的流量。
封包面板布局
封包列表
左侧显示所有捕获的封包,每条显示:时间、方向(发送/接收)、大小、来源
Hex查看器
点击任意封包,右侧显示完整的十六进制内容和ASCII对照
搜索过滤
支持按Hex值、文本、端口、域名等条件过滤封包
实时统计
显示封包总数、流量大小、连接数等实时数据
如何看懂封包数据?
方向: SEND 端口: 8080 大小: 64字节
00000000 48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B 0D |HTTP/1.1 200 OK.|
00000010 0A 43 6F 6E 74 65 6E 74 2D 54 79 70 65 3A 20 74 |.Content-Type: t|
封包对比功能
选中两条封包,可以并排对比它们的差异。适合分析不同操作产生的封包有何不同。
封包修改(规则引擎)
这是 AngerPacket 的核心杀器:拦截特定封包,修改其中的数据,再发送出去。
两种规则类型
| 类型 | 优先级 | 用途 |
|---|---|---|
| 特别处理 SpecialRules | 最高 | 最先匹配,命中后跳过普通规则。用于关键封包单独处理。 |
| 修改器 ModRules | 中 | 常规封包修改。支持多次命中、包长过滤等高级条件。 |
一个规则包含什么?
"name": "修改金币数量",
"port": "8080", // 匹配端口,支持 80-443, 80,443
"domain": "game.example.com", // 匹配域名,支持 *.example.com
"pattern": "AABB??CCDD", // 特征码(Hex),?? = 任意字节
"dir": "recv", // 方向: send(发出)/recv(收到)/both(双向)
"enabled": true, // 是否启用
"block": false, // 是否拦截(true=丢弃此包)
"length": ">10", // 包长度条件 >n, <n, =n, =n~m
"occurrence": "3", // 第几次命中才修改,0=每次都改
"mods": [ // 修改操作列表
{ "offset": 8, "value": "00000064" } // 从第8字节开始,写入 00 00 00 64 (=100)
]
}
高级:命中次数控制 (Occurrence)
有时候你不想每次都修改同一封包。比如:
"occurrence": "1"→ 只修改第1次出现的封包"occurrence": "1,3,5"→ 只修改第1、3、5次出现的封包"occurrence": "0"→ 每次都修改(默认)
高级:命中重置 (OccurrenceReset)
设置一个"重置条件"——当触发某个条件时,命中计数器归零。比如:
- 访问某个特定URL时重置
- 收到某个特定封包时重置
这就像一个"开关闸门":闸门关着时不修改,条件触发→闸门打开→开始修改。
自动替换(Auto Reply)
与规则修改不同,Auto Reply 是完全替换封包内容。匹配到封包后,不修改它,而是直接用你准备好的数据替换。
使用场景
- 拦截登录请求,返回自定义的登录成功响应
- 替换服务器返回的JSON数据,修改游戏数值
- 模拟服务器响应进行调试
配置示例
"name": "替换登录响应",
"dir": "recv", // 拦截服务器返回的包
"port": "8080",
"match_pattern": "48454C4F", // 匹配特征 = "HELO"
"block": true, // 拦截原包不转发
"response_hex": "4F4B21" // 替换内容 = "OK!"
}
多条替换(顺序发送)
使用 response_hexes 数组可以依次发送多条数据:
"48656C6C6F", // 第1条: "Hello"
"576F726C64" // 第2条: "World"
]
递增变量 {INC:变量名}
这是一个高级功能:在替换内容中使用递增计数器。
| 写法 | 效果 | 示例输出 |
|---|---|---|
{INC:SEQ} | 紧凑Hex递增 | 00000001 → 00000002 |
{INC:SEQS} | 空格分隔Hex递增 | 00 00 00 01 → 00 00 00 02 |
可以配置初始值(init_hex)和步长(step_hex)。
SSL/TLS 解密(HTTPS抓包)
正常代理无法看到 HTTPS 加密流量。AngerPacket 通过中间人(MITM)技术解密 HTTPS。
工作原理(简单版)
AngerPacket 充当"翻译官",在你和服务器之间解密、查看、重新加密流量
设置步骤
安装CA证书
首次运行后,angerconfig/ 目录下会生成 ca.crt 文件。把它安装到你的设备上:
- 安卓:设置 → 安全 → 加密与凭据 → 安装证书 → CA证书
- iOS:用Safari下载ca.crt → 设置 → 通用 → VPN与设备管理 → 安装
- Windows:双击ca.crt → 安装证书 → 受信任的根证书颁发机构
配置SSL解密规则
编辑 angerconfig/ssl_decrypt.json,添加要解密的域名:
"enabled": true,
"domains": ["*.example.com", "api.game.com"],
"target_ports": [443]
}
重启AngerPacket
配置生效后,访问这些域名的HTTPS流量就能看到了!
文件映射
把服务器返回的某个文件替换成你本地的文件。特别适合替换游戏的配置文件、资源文件等。
工作原理
配置方法
编辑 angerconfig/file_mapping.json:
"mappings": [
{
"url_path": "/api/config.json",
"local_file": "file_mapping/my_config.json",
"domain": "game.example.com"
}
]
}
本地文件放在 angerconfig/file_mapping/ 目录下。
出站拦截
阻止特定流量发出。支持黑名单/白名单模式。
拦截模式
| 模式 | 效果 |
|---|---|
close | 直接断开连接 |
403 | 返回 HTTP 403 Forbidden |
502 | 返回 HTTP 502 Bad Gateway |
refused | 拒绝连接 |
拦截条件
- 按域名:
*.ad-server.com(屏蔽广告服务器) - 按端口:
25(屏蔽SMTP邮件端口) - 按URL路径:
/admin/*(屏蔽管理路径)
伪心跳
很多游戏/应用会定期发送心跳包来保持连接。AngerPacket 可以自动回复心跳包,让客户端以为服务器还在。
配置示例
"name": "游戏心跳",
"dir": "send",
"match_pattern": "484542", // 匹配心跳包特征
"block": true, // 拦截不转发
"response_hex": "4845424F4B" // 自动回复 "HEBOK"
}
"block": false 则同时转发原包+发送回复(双向都发)。用户账号管理
创建代理用户
在后台「用户管理」面板中创建SOCKS5代理用户:
| 属性 | 说明 |
|---|---|
| 用户名 | 代理登录用户名 |
| 密码 | 使用bcrypt加密存储,安全 |
| 最大连接数 | 限制该用户同时能建立多少连接 |
| 单IP限制 | 开启后该账号只能在一个IP上使用 |
| 到期时间 | 账号过期后自动失效 |
用户状态追踪
| 信息 | 说明 |
|---|---|
| 当前连接数 | 实时显示该用户正在使用的连接数 |
| 最后连接IP | 最后一次连接的IP地址 |
| 最后连接时间 | 最后一次连接的时间 |
用户在线追踪 PRO
专业版会记录每个用户的在线时段和累计在线时长:
- 什么时候连接的
- 什么时候断开的
- 这次在线了多久
- 总共在线了多久(累计)
非常适合按用量计费的场景。
二级代理(分销系统)PRO
你可以创建二级代理账号,让代理帮你卖账号。代理登录 端口30000 的独立控制台。
代理权限(精细控制)
| 权限 | 可选值 | 说明 |
|---|---|---|
| 查看统计 | 允许/禁止 | 代理能否看自己的收入和用户统计 |
| 创建卡密 | allow / deny / request | request=提交工单等待审批 |
| 删除卡密 | allow / deny / request | 同上 |
| 删除用户 | allow / deny / request | 同上 |
| 修改到期 | allow / deny / request | 给用户续费 |
| 修改连接数 | allow / deny / request | 调整用户连接上限 |
| 卡密前缀 | 自定义 | 限制代理只能用指定前缀 |
| 卡密最大天数 | 数字 | 限制代理创建的卡密最长有效期 |
| 每日制卡上限 | 数字 | 限制代理每天最多生成多少卡密 |
权限模式说明
| 模式 | 行为 |
|---|---|
allow | 代理可以直接执行操作 |
deny | 代理完全不能执行此操作 |
request | 代理提交工单,管理员审批后执行 |
卡密系统 PRO
生成卡密(兑换码),用户可以自己用卡密注册账号或续费。
卡密兑换流程
生成卡密
数量: 100 张
前缀: VIP- (卡密格式:VIP-XXXX-XXXX-XXXX)
天数: 30 (兑换后账号有效期30天)
用户自助兑换
用户访问兑换接口,输入卡密+用户名+密码即可:
{
"code": "VIP-ABCD-EFGH-IJKL",
"username": "player001",
"password": "mypassword"
}
# 用户名规则: 4-32位字母数字下划线
# 密码规则: 最少6位
# 用户不存在 → 自动创建;已存在 → 自动续费
卡密状态
| 状态 | 说明 |
|---|---|
| 未使用 | 卡密尚未被兑换 |
| 已使用 | 显示使用者、使用时间 |
工单审批系统 PRO
当代理的某些权限设为 request 时,代理操作会生成工单,等待管理员审批。
支持的工单类型
| 类型 | 触发操作 |
|---|---|
| 删除用户 | 代理要删除某个用户 |
| 批量续费 | 代理要给用户加时间 |
| 修改连接数 | 代理要改用户连接上限 |
| 生成卡密 | 代理要生成卡密 |
| 删除卡密 | 代理要删除卡密 |
| 批量删卡密 | 代理要批量删除卡密 |
审批流程
配置文件说明
所有配置文件在 angerconfig/ 目录下:
| 文件 | 用途 |
|---|---|
runtime.json | 运行时配置(端口、动态密码等) |
web_settings.json | Web管理界面设置 |
rules.json | 基本封包规则 |
mod_rules.json | 修改规则 |
auto_reply.json | 自动替换规则 |
ssl_decrypt.json | SSL解密域名列表 |
file_mapping.json | 文件映射配置 |
proxy.db | SQLite数据库(用户、设置等) |
ca.crt / ca.key | MITM CA证书和私钥 |
Web管理界面设置
在后台「系统设置」中可以配置:
Web管理设置 (web_settings.json)
| 设置项 | 说明 |
|---|---|
| Web端口 | 管理界面监听的端口,默认20000(HTTPS) |
| 代理端口 | SOCKS5代理端口,默认1080 |
| 管理员密码 | 修改后台登录密码 |
| 动态密码 | 启用/禁用动态密码 |
| HTTPS | 管理界面启用HTTPS |
运行时配置 (runtime.json)
"web_port": 20000,
"proxy_port": 1080,
"dynamic_password_enabled": false,
"dynamic_password_secret": ""
}
十六进制匹配语法参考
在规则中使用Hex模式匹配封包时,支持以下通配符:
| 写法 | 含义 | 示例 |
|---|---|---|
XX | 精确匹配字节 0xXX | 48 54 → 匹配 "HT" |
?? 或 ? | 匹配任意单字节 | 48 ?? 54 → 匹配 "H?T" |
0? | 高半字节固定0,低半字节任意 | 0? → 00-0F |
?0 | 低半字节固定0,高半字节任意 | ?0 → 00,F0 |
** | 匹配任意多字节(变长) | AA ** BB → AA...BB |
示例
485454502F312E31 ** 0D0A0D0A
// "HTTP/1.1" + 任意内容 + "\r\n\r\n"
免费版 vs 专业版
免费版
- SOCKS5代理服务器
- 实时抓包查看
- Hex封包分析
- 封包规则修改
- 自动替换 (Auto Reply)
- SSL/TLS解密 (MITM)
- 文件映射
- 出站拦截
- 伪心跳
- 用户管理
- Web管理面板
- 动态密码
专业版 = 免费版 +
- 二级代理/分销系统
- 代理独立控制台 (端口30000)
- 细粒度权限控制
- 卡密/兑换码系统
- 用户自助注册+续费
- 工单审批系统
- 用户在线时长追踪
- 用户会话历史记录
- 批量操作支持
常见问题
请检查以下几点:
- 手机和电脑是否在同一个WiFi下?
- 电脑防火墙是否允许1080端口?
- 代理类型是否选了SOCKS5(不是HTTP)?
- 用户名密码是否正确?
- 用户账号是否已过期?
需要两步:
- 把
angerconfig/ca.crt安装到设备的受信任根证书中 - 在
ssl_decrypt.json中添加要解密的域名并启用 - 重启 AngerPacket
注意:部分APP有SSL Pinning(证书绑定),无法通过MITM解密。
常见原因:
"enabled": true是否设置了?- 端口号对不对?注意有些游戏用非标准端口
- 方向(dir)设对了吗?send=发出的包,recv=收到的包
- 特征码(pattern)是否精确匹配?建议先用抓包面板确认实际Hex值
- 修改配置文件后重启了吗?
目前 AngerPacket 仅支持 TCP 连接(SOCKS5 CONNECT命令)。UDP暂不支持。大部分游戏和Web流量都是TCP,只有少数实时通信(如语音)使用UDP。
删除 angerconfig/proxy.db 文件并重启,系统会重新生成数据库,恢复默认密码 admin / admin123。
取决于你的服务器性能。每个用户可单独设置最大连接数限制。Go语言的goroutine并发模型使得AngerPacket可以高效处理大量并发连接。
不可以。卡密系统、二级代理、工单审批等是专业版独有的数据库表结构,免费版没有这些功能模块。
可以。推荐使用 screen 或 tmux 在后台运行:
screen -S angerpacket
./AngerPacket_linux_amd64
# 按 Ctrl+A 再按 D 分离
# 重新连接: screen -r angerpacket
也可以用 systemd 做成系统服务实现开机自启。
AngerPacket 使用手册 · 持续更新中
遇到问题?联系技术支持获取帮助