代理模式
WPE 自己变成一台 SOCKS5 代理服务器 + HTTP/HTTPS 中间人代理。不需要注入,能抓 HTTPS 明文,还带账号体系、防火墙、端口映射和驱动级强制接管。
代理模式不需要选进程、也不注入。先把服务跑起来,再决定用什么办法把流量引进来。
- 首页点 代理模式,直接进入主窗口。
- 「菜单 → 代理设置」:勾
启用 SOCKS5 代理(默认端口 1080)。要抓 HTTPS 明文再勾启用 HTTP 代理(默认 1081,不能与 SOCKS5 端口相同),保存。 - 「菜单 → 拦截设置」代理页勾上 TCP / UDP 的请求与响应。
- 点工具栏 开始 启动服务,到「系统日志」确认出现
SOCKS5 代理地址 : TCP [ … ]与WPE64 证书安装成功两行。 - 把流量引进来:本机程序自己填代理,或用「进程设置 → 强制转代理」按 PID / 进程名接管;手机、模拟器与另一台电脑见 10 节。
- 数据滚进「代理数据」列表后:HTTP(S) 类别直接显示明文,改内容用 映射设置;TCP / UDP 类别改字节用 滤镜。
01 · 主界面导览
- 左侧导航(14 项):代理数据 / 客户端列表 / 账号列表 / 滤镜列表 / 发送列表 / 机器人列表 / 仓库列表 / WPC配置 / 统计数据 / 文本对比 / 异或计算 / 编码转换 / 数据提取 / 系统日志
- 工具栏 + 菜单:菜单有 12 项 设置(比注入模式多出代理设置、进程设置、映射设置、外部代理设置、防火墙设置)
- 代理数据列表:列名换成「客户端地址 / 服务端地址」,类别为 TCP/UDP/HTTP(S)/WebSocket
- 双行统计条:连接数、账号在线数、各类计数、上下行实时速率
- 快捷列表:同注入模式
- 数据面板:HTTP / HTTPS 类别 直接显示纯文本,其余显示十六进制
菜单 12 项一览
| # | 菜单项 | 本章位置 |
|---|---|---|
| 1 | 代理设置 | 02 节 |
| 2 | 进程设置 | 03 节 |
| 3 | 过滤设置 | 同注入模式(见此) |
| 4 | 拦截设置 | 04 节 |
| 5 | 列表设置 | 同注入模式 |
| 6 | 映射设置 | 06 节 |
| 7 | 外部代理设置 | 05 节 |
| 8 | 快捷键设置 | 工具章 |
| 9 | 备份设置 | 工具章 |
| 10 | 远程管理设置 | 工具章 |
| 11 | 防火墙设置 | 07 节 |
| 12 | 系统设置 | 工具章 |
02 · 代理设置
- 自动检测:勾选时 TCP 监听
0.0.0.0(全部网卡),UDP 用本机第一个 IP;取消后可指定具体本机 IP - 启用 SOCKS5 代理 + 端口(默认 1080)。必须勾选,否则保存时报「代理类型未设置」
- 启用身份认证:开启后客户端必须提供用户名 / 密码(见 08 节)。认证方式目前仅「用户名 / 密码」一种
- 启用 HTTP 代理 + 端口(默认 1081)。走 SunnyNet,可解密 HTTPS。不能与 SOCKS5 端口相同。右侧下拉选证书格式后可导出
- 系统代理 开关
- 最大连接数
证书导出格式
| 下拉选项 | 导出文件 | 典型用途 |
|---|---|---|
| Cer 证书 ( 二进制格式 ) | WPE64.cer | Windows 双击安装 |
| Cer 证书 ( 文本格式 ) | WPE64.cer | 需要 Base64 的场合 |
| Crt 证书 ( 二进制 / 文本 ) | WPE64.crt | Linux / Nginx |
| Pem 证书 ( 文本格式 ) | WPE64.pem | 各类 SDK / curl |
| 安卓系统 证书 | 9a7ae4b0.0 | 推入 Android 系统证书目录 |
启动服务时发生了什么
- 确定监听地址:按「自动检测」决定 TCP / UDP 绑定的 IP。
- 启动 SOCKS5 服务(SuperSocket):接收缓冲 65535、单请求上限 10MB、空闲会话 3 分钟清理,并挂上 IP 连接过滤器(防火墙在这一层生效)。
- 启动 HTTP 代理(若启用):SunnyNet 绑定端口,加载内置 CA 并尝试把 WPE64 根证书装入系统证书存储,成功会写日志「WPE64 证书安装成功」。
启动后到「系统日志」看这几行:SOCKS5 代理地址 : TCP [ … ] UDP [ … ]、HTTP 代理地址 : …、已启用 SOCKS5 代理服务身份认证、已启用外部代理 [ ip:port ]。
03 · 进程设置 · 强制转代理
让指定进程的流量 在系统层被强制导向代理,不需要目标程序自己支持代理设置。
需要启用 [ HTTP 代理 ] 后,才可以拦截进程的数据!需要启用 [ 强制转代理 ] 后,才可以使用滤镜功能!
保存时,会断开目标进程已建立的 TCP 连接。
- 按进程编号(PID)拦截:勾选要接管的进程。双击一行 可把它按「进程名称」加入右侧列表
- 按进程名称拦截:按名字匹配,进程重启后依然生效。双击一行删除
- 驱动类型 三选一,见下表。驱动一旦加载就锁定,三个单选框会置灰
- 卸载驱动:仅在已加载时可用,会立即重启电脑,有二次确认
- 强制转代理:总开关 + 转发目标 IP:端口(通常就是 WPE 自己的 SOCKS5 服务)。「检测代理」可即时验证握手
- 指定端口 / 需要认证:只转发特定端口;上游要账号密码时勾选
三种驱动的取舍
| 驱动 | 官方提示 | 建议 |
|---|---|---|
| NFAPI(默认) | 限制 1000000 个 TCP 连接和 UDP 套接字,超过此限制后,需要重启才能继续拦截 | 通用首选 |
| Proxifier | 不支持 UDP,不支持 32 位操作系统 | 纯 TCP 场景 |
| WinDivert | 不支持拦截 127.0.0.1 数据 | 不涉及本地回环时可用 |
「检测代理」的错误信息对照
| 提示 | 含义 |
|---|---|
| 代理服务器设置错误 | 参数不合法 |
| 代理服务器连接超时 | 连不上 |
| 代理服务器拒绝连接 | 端口未监听 / 被拒 |
| 代理服务器要求认证 | 未勾「需要认证」但对端要求 |
| 代理服务器认证失败 | 账号密码错 |
| 不支持的认证方式 | 对端只支持 GSSAPI 等 |
| 代理服务器不支持的 Socks 协议 | 版本不符 |
| 连接目标服务器失败 | 握手过了但连不上目标 |
04 · 拦截设置与拆包
代理模式页只有 TCP / UDP 的请求响应四个开关,外加一组 拆包设置。
| 字段 | 默认值 | 含义 |
|---|---|---|
| 包头 | 01 00 00 | 每个封包必须以这串十六进制开头(空格 / 逗号 / 分号均可作分隔) |
| 长度 | 4-5 | 包长字段在包内的 字节位置范围(1 基),即第 4~5 字节;按 大端 解析出的值就是整包总长度 |
勾了「启用拆包」但两个输入框留空,保存时会报「拆包设置不正确」。
05 · 外部代理(链式级联)
让 WPE 的 SOCKS5 服务把流量再 转给上游 SOCKS 代理,用于换出口 IP 或串联其他工具。
| 字段 | 默认 | 说明 |
|---|---|---|
启用外部代理 | 关 | 总开关 |
| IP 或域名 / 端口 | 127.0.0.1 / 8889 | 上游 SOCKS 服务器 |
指定端口 | 关(预置 80,8080,443,8443) | 只有目标端口在此列表内才走外部代理 |
需要认证 | 关 | 上游需要账号密码时勾选 |
检测代理 | — | 错误信息对照见 03 节 |
06 · 映射设置
两个独立功能,各有开关。这是 改 HTTP(S) 内容的正确入口——滤镜管不到 HTTP 类别的包。
本地映射 · 把远端资源换成本地文件
| 字段 | 说明 |
|---|---|
| 协议 | Http / Https |
| 主机地址 | 例如 cdn.example.com |
| 端口 | 默认 80 |
| 远端路径 | 例如 /static/app.js |
| 本地文件 | 拖拽或点击选择;命中该 URL 的 响应体直接用这个文件替换 |
远程映射 · 把请求重定向到另一个地址
| 区域 | 字段 |
|---|---|
| 请求地址(匹配条件) | 协议 / 主机地址 / 端口 / 路径 |
| 映射地址(重写为) | 协议 / 主机地址 / 端口 / 路径 |
两个列表都支持右键「置顶 / 向上移动 / 向下移动 / 置底 / 导出 / 复制 / 删除」,并可导入导出为 .pml(本地映射)与 .pmr(远程映射)。
07 · 防火墙
作用在 SuperSocket 的连接过滤器上,即 在 TCP 连接建立阶段 就放行 / 拒绝,代价极低。
- 启用防火墙:总开关
- 模式:
白名单模式= 只有名单内 IP 能连;黑名单模式= 名单内 IP 不能连 - 两份名单:条目可以是 单个 IP 或 IP 范围(起止两个 IPv4),并可设 过期时间
- 防火墙规则:自动化拉黑 / 放行,见下表
| 规则 | 默认 | 说明 |
|---|---|---|
| 自动加入白名单 → 认证成功的 IP 地址 | 关 | 代理账号认证通过后自动放行该 IP |
| 自动加入黑名单 → 不支持的 Socks 协议 + 分钟数 | 关 / 30 | 收到非法协议握手的 IP 自动封禁 N 分钟 |
| 自动加入黑名单 → 认证失败的 IP 地址 | 关 | 账号密码错误的 IP 自动拉黑 |
| 自动清理 → 已过期的 IP 地址 | 关 | 定期清掉过期条目 |
在 客户端列表 的认证记录上右键 → 加入白名单 / 加入黑名单 ▸(屏蔽 1 小时 / 1 天 / 30 天 / 永久屏蔽)。
导入导出:白名单 .wl、黑名单 .bl。
08 · 代理账号
开启「身份认证」后,客户端必须用这里的账号密码。
- 搜索区:按用户名模糊查;按 过期时间 用日历查(日历上有角标显示每天到期的账号数)
- 菜单:新增账号 / 批量创建账号 / 导入账号列表 / 导出所有账号 / 清空所有账号
- 表格:勾选框 / 序号 / 用户名 / 状态 / 链接数 / 设备数 / 过期时间 / 操作。未限制时显示绿色
无限制标签 - 行内操作:✎ 编辑 · 📍 账号登录情况(历史登录 IP 与归属地)· ✕ 删除
- 分页:每页 20 / 30 / 50 / 100 / 200 条
账号编辑
| 字段 | 说明 |
|---|---|
启用 | 停用后无法认证 |
用户名 | 唯一,重复会提示「该用户名已存在」 |
密码 | 认证时 区分大小写 |
限制链接数 | 同一账号同时允许的连接数 |
限制设备数 | 同一账号允许的不同来源 IP 数 |
过期时间 | 不勾选 = 永不过期(内部记为 8888/12/31) |
批量创建与批量调整
批量创建:账号规则 / 自定义前缀 / 生成数量(默认 10)/ 密码长度(默认 6)/ 限制链接数 / 限制设备数 / 过期时间,点 预览 先看效果,再 保存 写入。预览表格右键可导出 Excel(列:账号 / 密码 / 到期时间)。
批量调整:先勾选多个账号再右键:
- 批量调整 ▸ 过期时间:可选「基于当前时间」或「基于原有时间」,加 N
天/小时 - 批量调整 ▸ 链接数 / 设备数:统一设置或取消限制
- 批量导出 / 批量删除(有二次确认「确定删除 N 个账号吗?」)
原生格式 .pa(XML,支持密码加密);导入时 兼容 CCProxy 的 .ini 账号文件。导出 / 导入会弹密码框,无需密码时直接点「取消」。
09 · 客户端列表
左侧是客户端连接树,右侧是认证记录表:
| 列 | 说明 |
|---|---|
| 认证时间 | HH:mm:ss |
| 账号 | 由账号 ID 反查用户名 |
| IP地址 / 所属地 | 带国旗图标,QQWry 离线库解析 |
| 链接数 / 设备数 | 该 IP 当前连接数 / 该账号设备数 |
| 流量统计 | 自动换算单位 |
| 在线 (分钟) | 距认证时间的分钟数 |
| 认证结果 | 通过(绿标签)/ 失败(红标签) |
10 · 抓手机 · 模拟器 · 另一台电脑的包
注入模式只能抓 本机某个进程。要抓 Android / iOS 真机、安卓模拟器 或 局域网内另一台电脑,就把 WPE 当成它们的代理服务器——设备侧填上本机 IP 与端口,流量就会经过 WPE 再出网。
① 设备与电脑 在同一局域网,且电脑能被设备 ping 通;② 代理设置里勾了 自动检测(TCP 监听 0.0.0.0,否则只绑一个 IP,外部连不进来);③ Windows 防火墙放行 1080 / 1081 的入站——这是外部设备连不上时最常见的原因。
- 查本机 IP:命令行
ipconfig,记下与手机同网段的那个 IPv4(例如192.168.1.20)。 - 配好代理服务:「代理设置」勾
自动检测+启用 SOCKS5 代理+启用 HTTP 代理,两个端口不同,保存。 - 导出证书:在代理设置右侧下拉里按目标平台选格式,点「导出证书」(格式对照见下表)。
- 点「开始」 启动服务,日志出现
SOCKS5 代理地址 : TCP [ … ]即就绪。 - 设备侧填代理:手机 Wi-Fi 的「手动代理」填电脑 IP + HTTP 代理端口;需要抓非 HTTP 的 TCP / UDP 则改用 SOCKS5 客户端指向 1080。
- 装证书 → 验证:在设备上安装刚才导出的根证书,然后打开一个 HTTPS 网页;WPE 的「代理数据」列表出现 HTTP(S) 明文即成功。
设备侧代理怎么填
| 设备 | 填哪里 | 用哪个端口 | 说明 |
|---|---|---|---|
| Android 真机 | Wi-Fi → 长按当前网络 → 修改网络 → 高级 → 代理「手动」 | HTTP 1081 | 系统自带的手动代理只支持 HTTP(S),抓不到裸 TCP / UDP |
| Android · 全流量 | 装一个 SOCKS5 客户端 App(Postern / SocksDroid 等) | SOCKS5 1080 | 能把整机 TCP 都导过来;勾了身份认证时在 App 里填账号密码 |
| iPhone / iPad | 设置 → Wi-Fi → ⓘ → 配置代理 → 手动 | HTTP 1081 | iOS 同样不支持系统级 SOCKS5,需第三方客户端 |
| 安卓模拟器 | 模拟器设置里的网络 / 代理项,或直接在模拟器内按 Android 真机的方式填 | 1081 / 1080 | 模拟器本身就是本机进程,也可以 直接用注入模式 省掉整套代理配置 |
| 另一台 Windows | 设置 → 网络和 Internet → 代理 → 手动设置代理 | HTTP 1081 | 要抓该机全部进程的 TCP,用 SOCKS5 配合 Proxifier 一类工具接管 |
证书装到哪里
不装根证书,HTTPS 只能看到握手失败或一堆乱码。先在「代理设置」里选好格式导出,再按下表送到设备上:
| 目标 | 导出格式 | 安装方式 |
|---|---|---|
| 本机 Windows | — | 启动代理时 自动装入系统证书存储,日志写「WPE64 证书安装成功」。装失败时导出 Cer 证书 ( 二进制格式 ) 双击 → 安装到「受信任的根证书颁发机构」 |
| Android 6 及以下 | Crt 证书 或 Cer 证书 | 把文件拷进手机,设置 → 安全 → 从存储设备安装,装为 用户证书 即可生效 |
| Android 7 及以上 | 安卓系统 证书(9a7ae4b0.0) | App 默认不再信任用户证书,必须 root 后把 9a7ae4b0.0 推到系统证书目录 /system/etc/security/cacerts/(部分系统在 /apex 下),改权限 644 后重启 |
| iPhone / iPad | Cer 证书 ( 二进制格式 ) | 用 Safari 或隔空投送打开 → 设置里「已下载描述文件」安装 → 再到「通用 → 关于本机 → 证书信任设置」里为它打开完全信任(这一步最容易漏) |
| Firefox 浏览器 | Crt 证书 / Pem 证书 | Firefox 不用系统证书库:设置 → 隐私与安全 → 证书 → 查看证书 →「证书颁发机构」→ 导入,并勾「信任由此 CA 标识的网站」 |
| Linux / Nginx / curl / SDK | Crt 证书 · Pem 证书 | 放进发行版的 CA 目录并刷新,或用工具自带的 --cacert 之类参数直接指向文件 |
大概率是 App 做了 证书绑定(SSL Pinning)——它只认自己内置的那张证书,跟系统信不信任无关。这类目标没法靠装证书解决:要么换 注入模式 从进程内部抓(拿到的是加解密前后的缓冲区),要么放弃解密、只当 TCP 流量观察。
外部设备接入 · 故障对照
| 现象 | 先查这里 |
|---|---|
| 设备上完全没网 / 连接超时 | ① 电脑防火墙是否放行入站;② 代理设置是否勾了「自动检测」;③ 两台设备是不是真在同一网段(手机连的是不是 4G 或访客网络) |
| 能上网,但 WPE 列表一个包都没有 | 拦截设置的 TCP / UDP 请求响应是否勾选;过滤设置 是否挡住了(看统计条「过滤 :」);极速模式是否开着 |
| 设备提示需要用户名密码 | 代理设置开了 身份认证,到 代理账号 建一个账号,再在设备侧填上 |
| 刚连上就被断开 | 防火墙 处于白名单模式而设备 IP 不在名单里;或该 IP 因认证失败被自动拉黑 |
| HTTPS 页面报「证书不受信任」 | 证书没装、装成了用户证书(Android 7+),或 iOS 忘了开「完全信任」 |
| 只有部分 App 抓得到 | 系统手动代理只对遵守代理设置的 App 生效;游戏与推送类多走裸 TCP / UDP,改用 SOCKS5 全流量客户端 |
11 · 本章故障排查
端口被占用,或选定的绑定 IP 不存在。换端口,或勾上「自动检测」。
「代理类型未设置」→ 必须勾 启用 SOCKS5 代理;「SOCKS 和 HTTP 端口不能相同」→ 改成不同值。
① 拦截设置 → 代理模式页的 TCP / UDP 请求响应是否勾选;② 过滤设置是否挡住(看「过滤 :」计数);③ 极速模式是否开着。
必须启用 强制转代理 才能用滤镜;同时要启用 HTTP 代理 才能拦截进程数据——界面顶部红字提示已写明。
没装 WPE64 根证书。启动代理时日志应有「WPE64 证书安装成功」;其他设备需用「导出证书」手动安装为受信任根证书。
驱动一旦加载就锁定,必须先「卸载驱动」(会立即重启电脑)再改。