MiguelRipoll23/mgo2-scanner

GitHub: MiguelRipoll23/mgo2-scanner

一个基于 Node.js 的 MGO2 网络数据包实时捕获、检查与伪造工具,解决游戏协议调试与测试的痛点。

Stars: 0 | Forks: 0

# MGO2 扫描器 一个用于 MGO2 (Metal Gear Online 2) 的实时网络数据包扫描器和测试工具,使用 Node.js 构建并通过 WebGL2 在浏览器中渲染 Dear ImGui 前端。 ## 功能 - **实时数据包捕获** — 拦截 MGO2 客户端与服务器之间所有游戏端口的 TCP 流量 - **数据包检查器** — 十六进制转储查看器,支持并排 ASCII 显示、字节级光标导航以及多类型数据检查器 (uint8/16/32/浮点数/字符串) - **数据包伪造** — 为每个命令 ID 和方向 (IN/OUT) 创建持久的测试规则,动态替换有效载荷 - **数据包排除** — 从捕获列表中隐藏特定命令类型以减少噪声 - **十六进制搜索** — 在选定数据包的负载中按字符串、十六进制、uint8/16/32 值进行搜索,并支持上一项/下一项导航 ## 演示 ![截图](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/fea4a7e998135128.png) ## 使用方法 在 RPCS3 中,进入设置,在 `Metal Gear Online` 部分将 DNS IP 地址设置为 `0.0.0.0`,然后... ``` npm install npm run start ``` Web UI 将自动在 `http://127.0.0.1:8080` 打开。 设置 `DISABLE_DNS=true` 可跳过 DNS 服务器(例如,如果端口 53 已被占用)。 ## Docker ``` docker run -d \ --name mgo2-scanner \ --network host \ -e LISTENING_IP=0.0.0.0 \ -e DNS_UPSTREAM_IP=8.8.8.8 \ -e DNS_UPSTREAM_PORT=53 \ -e DISABLE_DNS=false \ -v mgo2-scanner-rules:/app \ ghcr.io/miguelripoll23/mgo2-scanner:main ``` `-v mgo2-scanner-rules:/app` 标志挂载一个命名的 Docker 卷,以便 `test-rules.json` (以及写入 `/app` 的任何其他文件) 在 `docker run` 调用之间持久化。不使用该标志时,伪造规则仅保存在内存中,并在容器被替换时丢失。 ### 环境变量 | 变量 | 默认值 | 描述 | |------|--------|------| | `LISTENING_IP` | `0.0.0.0` | 覆盖返回给 `mgo2pc.com` 和 `game.mgo2pc.com` 的 IP | | `DNS_UPSTREAM_IP` | `8.8.8.8` | 上游 DNS 服务器 IP,用于转发查询 | | `DNS_UPSTREAM_PORT` | `53` | 上游 DNS 服务器端口 | | `DISABLE_DNS` | `false` | 设置为 `true` 以跳过启动 DNS 服务器 |
标签:Dear ImGui, DNS 劫持, Docker 容器, GNU通用公共许可证, Metal Gear Online 2, MGO2, MITM代理, Node.js, RPCS3, TCP 抓包, WebGL2, 二进制发布, 前端渲染, 十六进制搜索, 十六进制查看, 命令ID, 实时流量捕获, 开源工具, 持久化规则, 数值搜索, 数据包排除, 数据包检查器, 数据解析, 流量伪造, 测试规则, 浏览器UI, 游戏测试工具, 游戏网络工具, 环境变量配置, 端口监听, 网络抓包, 网络调试, 自动化, 自动化攻击, 规避防御, 请求拦截, 降噪