ancaferro/myNetwork

GitHub: ancaferro/myNetwork

一款跨平台局域网主机发现与端口扫描器,提供 Windows XP 风格桌面 GUI,支持实时监控和数据导出。

Stars: 0 | Forks: 0

myNetwork # 我的 Network **跨平台局域网和端口扫描器,带有 Windows XP 风格的桌面 GUI。** 发现您网段上的主机,解析名称、MAC 和供应商,并报告开放的 TCP + UDP 端口 —— 具备实时监控和导出功能。 ![Electron](https://img.shields.io/badge/Electron-2f80f0?logo=electron&logoColor=white) ![Node](https://img.shields.io/badge/Node.js-20-3c873a?logo=node.js&logoColor=white) ![No root](https://img.shields.io/badge/no%20root-required-37d67a) ![Platforms](https://img.shields.io/badge/Win%20%C2%B7%20macOS%20%C2%B7%20Linux-cross--platform-5b8cff) ![License](https://img.shields.io/badge/license-MIT-lightgrey) myNetwork screenshot 截图展示了合成的演示数据。
## ✨ 功能 - **自动检测网段。** 自动列出接口及其子网; 包含默认网关的接口排在首位 (★)。如果一个接口有多个 地址,**Range** 将预先填充为以逗号分隔的列表。 - **逗号分隔的范围** —— `10.0.0.0/24, 192.168.1.0/24`、单个 IP 或 `a.b.c.d-a.b.c.e`。 - **分层扫描:** 首先是 **ICMP** (发现),然后是 **常用端口** (快速 反馈),接着是 **所有 TCP (1–65535)** 和 **UDP**。主机和端口在 被发现时会流式返回;进度条反映了各个分层。 - **模式:** **Fast** (默认) —— ICMP + 常用端口;**Full** —— TCP + UDP + ICMP,所有 端口;**Custom** —— 独立的 TCP 和 UDP 范围。 - **颜色 = 协议:** TCP 绿色,UDP 蓝色,ICMP 黄色(状态栏中有图例)。 - **基于 MAC 的供应商** —— 完整的离线 **IEEE OUI** 数据库(约 39,700 条记录)。 - **监控:** 每分钟 ping 已知主机并带有在线/离线 通知,同时每 5 分钟重新检查端口;无法访问的主机会淡出。 - **保留** (默认) —— 保留先前扫描的结果并按 IP 合并。 它旁边有一个 **Clear** 按钮。 - **从行中复制:** 点击 IP → IP,点击 MAC → MAC,点击其他任何地方 → 以 JSON 格式复制整个主机记录。从 **File** 菜单导出为 **CSV / JSON**。 - **缓存** —— 下次启动时恢复上一次扫描。 - **Windows XP (Luna) GUI** —— 无边框窗口、菜单栏、可排序的 ListView 和 状态栏。 ## 🚀 运行 ``` npm install npm start # or: make start (background, no sudo) ``` `make help` 会列出相应的目标 (`start` / `stop` / `restart` / `status`)。 ## 📦 构建安装包 ``` npm run dist:linux # AppImage + deb npm run dist:win # NSIS installer npm run dist:mac # dmg ``` Release 会自动构建:推送 `v*` 标签会触发 [GitHub Actions](.github/workflows/release.yml),它将构建适用于 Windows/macOS/Linux 的安装包,并将它们附加到 GitHub Release 中。 ## 🧭 工作原理 | 层级 | 文件 | 用途 | |-------|------|---------| | CIDR / 接口 | [`net-utils.js`](src/scanner/net-utils.js) | 目标解析,逗号分隔范围,接口检测 | | 发现 | [`discovery.js`](src/scanner/discovery.js) | ping,ARP 表,反向 DNS,默认路由 | | 端口 | [`ports.js`](src/scanner/ports.js) | TCP connect,UDP probes,服务名称 | | OUI 供应商 | [`oui.js`](src/scanner/oui.js) · [`oui-db.txt`](src/scanner/oui-db.txt) | 基于 MAC 的供应商 | | 编排 | [`index.js`](src/scanner/index.js) | 分层,socket pool,流式事件 | | Electron / IPC | [`main.js`](src/main.js) · [`preload.js`](src/preload.js) | 窗口,监控,导出,通知 | | 渲染器 | [`renderer/`](src/renderer) | UI,表格,过滤器 | 一切都运行在普通的 Node 上 —— **没有原生依赖且不需要 root 权限** —— 因此它 在 Linux、macOS 和 Windows 上的构建方式完全相同。 ## ⚠️ 负责任地使用 此工具旨在用于审计**您自己的**网络。仅扫描您已获得 授权的网段。 ## 许可证 MIT
标签:Electron, GNU通用公共许可证, MITM代理, Node.js, 插件系统, 数据可视化, 桌面应用, 网络扫描器, 自定义脚本