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

# 我的 Network
**跨平台局域网和端口扫描器,带有 Windows XP 风格的桌面 GUI。**
发现您网段上的主机,解析名称、MAC 和供应商,并报告开放的
TCP + UDP 端口 —— 具备实时监控和导出功能。





截图展示了合成的演示数据。
## ✨ 功能
- **自动检测网段。** 自动列出接口及其子网;
包含默认网关的接口排在首位 (★)。如果一个接口有多个
地址,**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, 插件系统, 数据可视化, 桌面应用, 网络扫描器, 自定义脚本