# netcaptor **Repository Path**: it-yu/netcaptor ## Basic Information - **Project Name**: netcaptor - **Description**: Electron + Node.js 开发的一款抓包工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-11 - **Last Updated**: 2026-05-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NetCaptor · Web Traffic Analyzer NetCaptor 是一款用 Electron + Node.js 手搓的现代化 HTTP/HTTPS 抓包分析工具, 界面参考 Fiddler / Chrome DevTools,自带编辑器风格的语法高亮与可拖拽分栏。 默认监听 `127.0.0.1:8888`,支持 HTTP 抓包、HTTPS MITM 解密、请求列表、详情面板与 HAR 导出。 ## 环境要求 - Node.js 18+(建议 20 / 22) - Windows / macOS / Linux 桌面环境 ## 安装与启动 ```bash npm install npm run dev ``` `npm run dev` 会同时启动: - Vite(渲染端开发服务器,端口 5173) - TypeScript watch(编译主进程到 `dist/main`) - Electron(等待主进程编译产物与 Vite 后启动桌面窗口) 生产构建: ```bash npm run build npm start ``` ## 使用步骤 1. 打开应用,点击 **启动代理**。默认监听 `127.0.0.1:8888`。 2. 把浏览器或系统的 HTTP/HTTPS 代理设置为该地址: - Windows:`设置 → 网络和 Internet → 代理 → 手动设置代理` - 浏览器扩展(如 SwitchyOmega)也可以直接指向 `127.0.0.1:8888` 3. **HTTPS 解密**:第一次抓 HTTPS 站点前,请把工具栏 “打开 CA 文件” 中的 `rootCA.crt` 导入到 **受信任的根证书颁发机构**。 - Windows:双击 `rootCA.crt → 安装证书 → 本地计算机 → 受信任的根证书颁发机构` - macOS:钥匙串 → 导入 → 信任为始终信任 - Linux:`sudo cp rootCA.crt /usr/local/share/ca-certificates/ && sudo update-ca-certificates` 4. 在浏览器访问目标站点,左侧会实时显示请求;点击查看请求/响应详情。 ## 功能一览 - HTTP / HTTPS MITM 抓包(动态签发站点证书) - 请求列表:方法、状态、Host、URL、类型、大小、耗时 - 请求详情:Headers / Payload / Cookies / Raw - 响应详情:Headers / Preview / Response / Timing(自动 gzip / br 解码用于预览) - 过滤(按 URL / Host / 方法 / 状态码)、清空 - 导出 HAR 1.2 ## 注意 - 本工具仅供本地调试自有应用使用,**严禁** 用于抓取他人或第三方流量。 - 一些 App 启用了证书固定(Certificate Pinning),无法被 MITM 解密。 - 默认监听 `127.0.0.1`,不会暴露到局域网。如需共享调试,请自行评估安全风险后再调整。 - 单条响应捕获上限为 5MB,超过会标记为已截断,但客户端仍会收到完整内容。 ## 目录结构 ``` src/ ├── main/ # Electron 主进程 │ ├── index.ts # 入口、IPC、窗口管理 │ ├── proxy/ │ │ ├── index.ts # MITM 代理核心 │ │ └── cert.ts # 根证书生成 / 站点证书签发 │ └── sessions/ │ └── store.ts # 会话内存仓库 ├── preload/ # 安全暴露 IPC 给渲染端 │ └── index.ts ├── renderer/ # React UI(Vite) │ ├── App.tsx │ ├── main.tsx │ ├── styles.css │ └── components/ │ ├── Toolbar.tsx │ ├── SessionList.tsx │ └── InspectPanel.tsx └── shared/ └── types.ts # 主进程与渲染端共享类型 ```