SunnyNet
FreeNot checkedWindows packet capture and analysis tool with an MCP bridge exposing network sessions to AI agents.
About
Windows packet capture and analysis tool with an MCP bridge exposing network sessions to AI agents.
README
SunnyNet WPF 是基于 SunnyNet Go 核心的 Windows 抓包分析工具。项目使用 C# + WPF 重绘桌面界面,核心抓包、代理、脚本、证书与协议处理仍由 Go 后端提供,并以 c-shared DLL 方式供 WPF 直接调用。
仓库地址:https://github.com/hmlyn/SunnyNet-wpf
作者:hmlyn
仓库描述:
SunnyNet WPF 是基于 SunnyNet Go 核心的 Windows 抓包分析工具,使用 C# + WPF 重绘界面,支持 HTTP/HTTPS、WebSocket、TCP/UDP、断点拦截、重放、请求规则、请求构造器、MCP 与常用调试工具。
功能概览
- Windows x64 桌面应用,界面层使用 WPF,运行产物为
SunnyNet.exe。 - Go 后端编译为
backend/SunnyNetBridge.dll,WPF 通过 P/Invoke 直接调用 SunnyNet 核心能力。 - 仓库已随项目分发 SunnyNet 核心兼容源码,后端通过本地
replace引用,不再依赖额外手动准备核心源码。 - 支持 HTTP/HTTPS、WebSocket、TCP、UDP 会话捕获、筛选、查看和分析。
- 支持进程筛选、域名筛选、会话收藏、备注、标记颜色、列宽记忆和窗口布局记忆。
- 支持会话比较视图,可拖入两条会话对比请求/响应差异,并显示哈希摘要。
- 支持请求/响应 XML 视图,内容匹配 XML 时自动显示,避免无关视图占用空间。
- 支持 TLS 指纹视图,可查看 JA3、JA3N、JA4、JA4-R、Akamai 等指纹信息。
- 支持断点拦截、普通重发、运行到结束、断开连接,以及请求/响应内容修改。
- 支持请求规则中心,包括请求断点、HTTP/WebSocket/TCP/UDP 屏蔽、请求重写、请求映射。
- 支持请求构造器,可自行构造 GET/POST 等请求,支持协议头/Body 多视图编辑、从会话列表回填重放和历史记录缓存。
- 支持会话右键复制请求代码,包含 C#、Java、Go、Python、JavaScript、易语言、火山等模板。
- 支持全局查找、查找替换、请求/响应文本高亮,查找窗口命中后可联动右侧详情视图。
- 支持 WebSocket 消息流、主动发送、消息重放、HEX/原文/JSON/Protobuf 视图。
- 支持 TCP/UDP 专用数据视图,避免复用 HTTP/WebSocket 视图造成信息冗余。
- 支持脚本扩展,可在脚本中处理、解密或转换数据,并写入显示层明文,不破坏原始请求/响应数据。
- 内置文本工具、JSON 结构编辑器、加密/解密工具、开源协议与赞赏页面。
- 文本工具支持 Base64/Base64URL、URL、UCS2、常用压缩解压、文本差异、文本去重、大小写转换、时间戳转换等。
- 加密/解密工具支持 AES/DES/RSA、常用哈希、HMAC,并支持文本/Base64/HEX/Base64URL 输入输出。
- 支持 GitHub Release 检查更新,可自动检测新版本并打开发布页。
- 支持 SunnyNet MCP,可让 AI 会话读取、搜索、标记、收藏、备注、查看 TLS 指纹和分析抓包会话。
最新版本
当前发布版本:v0.1.7
发布包命名:
SunnyNet-wpf-v0.1.7-win-x64.zip
Release 包含 Windows x64 可运行程序、WPF 主程序、Go 后端 DLL、随程序运行所需资源,以及可选 MCP 桥接程序。
本次核心更新
- 请求重写新增响应 JSON 键值改写,支持按路径设置或删除嵌套字段,例如
Data.User.IsInsider=true、Data.Membership.Role=7。 - JSON 响应重写采用路径级替换,尽量保留原始响应结构,并自动修正响应长度、压缩等相关协议头。
- 规则中心新增/编辑规则窗口改为普通窗口模式,编辑规则时可继续点击主窗口或其它工具窗口查看上下文。
- 请求规则继续保留请求断点、HTTP/WebSocket/TCP/UDP 屏蔽、请求重写、请求映射等能力。
目录结构
backend/:Go 后端桥接层,编译为backend/SunnyNetBridge.dll。third_party/SunnyNet/:随仓库分发的 SunnyNet Go 核心兼容源码。src/SunnyNet.Wpf/:WPF 桌面程序源码。docs/:项目文档,例如 MCP 工具清单。sunnymcptool/:可选的上游 MCP 工具源码目录,默认不随仓库提交,需自行克隆。_toolchain/:可选本地工具链目录,例如 Zig。build-debug.bat:Debug 构建脚本,输出到artifacts/Debug/。build-release.bat:Release 构建脚本,输出到artifacts/Release/,并移除 pdb。
编译环境
必须环境:
- Windows 10/11 x64
- .NET SDK 8.0+
- Go 1.24.x
- Zig 0.15.2 或兼容版本,用于让 Go 生成 Windows 可加载的
c-shared DLL - Git
推荐环境:
- Visual Studio 2022,用于打开、调试 WPF 项目。
- PowerShell 7 或 Windows PowerShell,用于运行构建脚本和 MCP 构建脚本。
可选环境:
sunnymcptool,用于打包 MCP 桥接程序。
SunnyNet 核心分发说明
项目已随仓库分发 SunnyNet Go 核心兼容源码:
third_party/SunnyNet
当前 backend/go.mod 使用本地 replace:
replace github.com/qtgolang/SunnyNet => ../third_party/SunnyNet
这样首次拉取仓库后即可直接编译后端,也方便项目维护必要的核心层补丁。后续如果 SunnyNet 核心需要增强或修复,建议在 third_party/SunnyNet 内维护兼容补丁,并同步验证 WPF 调用链。
获取源码
git clone https://github.com/hmlyn/SunnyNet-wpf.git
cd SunnyNet-wpf
仓库当前不依赖 Git submodule,third_party/SunnyNet 已在仓库内分发。
Zig 准备
两种方式任选一种。
方式一:安装 zig 并加入 PATH:
zig version
方式二:将 Zig 解压到项目本地路径:
_toolchain/zig-x86_64-windows-0.15.2/zig.exe
项目会优先使用本地 _toolchain,如果不存在则使用 PATH 中的 zig。
MCP 准备
MCP 是可选项。若需要把 MCP 桥接程序一起打包,请在项目根目录旁准备上游 sunnymcptool:
git clone https://github.com/a121400/sunnymcptool.git
cd sunnymcptool
.\scripts\build.ps1 -Target mcp
编译后应存在:
sunnymcptool/build/bin/sunnynet-mcp.exe
WPF 构建时会自动复制到运行目录:
mcp/sunnynet-mcp.exe
如果没有该文件,主程序仍可编译运行,只是 MCP 功能不可用。
编译方式
Debug:
build-debug.bat
Release:
build-release.bat
也可以直接使用:
dotnet build .\SunnyNet.sln -c Debug
dotnet build .\SunnyNet.sln -c Release
建议发布包使用 build-release.bat,因为该脚本会输出到固定目录,并删除 pdb 文件。
输出位置
使用脚本构建后:
artifacts/Debug/SunnyNet.exe
artifacts/Release/SunnyNet.exe
使用 dotnet build 默认构建后:
src/SunnyNet.Wpf/bin/Debug/net8.0-windows/SunnyNet.exe
src/SunnyNet.Wpf/bin/Release/net8.0-windows/SunnyNet.exe
运行时主程序会加载同目录下的 Go 后端 DLL:
backend/SunnyNetBridge.dll
如果启用了 MCP,还会加载:
mcp/sunnynet-mcp.exe
发布打包
推荐流程:
build-release.bat
然后将下面目录压缩为 zip:
artifacts/Release/
推荐命名:
SunnyNet-wpf-v0.1.7-win-x64.zip
常见问题
如果提示找不到 Zig:
- 确认
zig version可以在 PowerShell 中正常执行。 - 或确认本地路径
_toolchain/zig-x86_64-windows-0.15.2/zig.exe存在。
如果 Go 后端 DLL 没有生成:
- 确认已经安装 Go 1.24.x。
- 确认 Zig 可用。
- 确认
third_party/SunnyNet目录存在。 - 重新运行
build-debug.bat或build-release.bat。
如果 MCP 文件没有出现在编译产物里:
- 先编译
sunnymcptool的 MCP 目标。 - 确认
sunnymcptool/build/bin/sunnynet-mcp.exe存在。 - 重新运行
build-debug.bat或build-release.bat。
文档
docs/MCP工具清单.md:当前 WPF 版支持的 MCP 工具、参数与返回字段说明。
开源协议
SunnyNet WPF 版采用 MIT 协议开源。你可以自由使用、复制、修改、合并、发布、分发或二次开发本项目,但需要保留原始版权声明和协议声明。
本项目仅用于合法的网络调试、接口分析、测试与技术研究场景。请勿将本工具用于未授权抓包、绕过访问控制、攻击或其它违法用途。
Installing SunnyNet
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/hmlyn/sunnynet-wpfFAQ
Is SunnyNet MCP free?
Yes, SunnyNet MCP is free — one-click install via Unyly at no cost.
Does SunnyNet need an API key?
No, SunnyNet runs without API keys or environment variables.
Is SunnyNet hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install SunnyNet in Claude Desktop, Claude Code or Cursor?
Open SunnyNet on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare SunnyNet with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
