ChartLovebirdAbyss/net-scan-utility

GitHub: ChartLovebirdAbyss/net-scan-utility

一款 Windows 平台的网络枚举工具,整合了主机发现、端口与服务探测、SMB/SNMP 枚举及账户信息提取,帮助 IT 团队在一个界面内完成完整的内网资产盘点。

Stars: 1 | Forks: 0

Network Enumeration banner # net-scan-utility 🛰️🔍 ![版本](https://img.shields.io/badge/version-2026-blue?style=for-the-badge) ![Windows](https://img.shields.io/badge/platform-Windows-0078d4?style=for-the-badge&logo=windows&logoColor=white) ![许可证](https://img.shields.io/badge/license-MIT-green?style=for-the-badge) *将其指向一个子网,即可获取真相 —— 主机、共享、服务,以及隐藏在其后的用户名。*
## 🧭 概述 让我们先澄清一下术语,因为互联网上一半的人都会弄错这一点:**网络枚举(network enumeration)**与网络映射(network mapping)并不是一回事。映射告诉你*哪些机器是存活的,以及它们运行的是什么操作系统*。而枚举则更进一步——它会敲开这些机器敞开的大门,询问是谁住在里面。用户名、组成员身份、共享文件夹、暴露的服务——当你试图了解一个网络到底在*做什么*,而不仅仅是远远地看它*长什么样*时,这些才是真正重要的东西。 开发 `net-scan-utility` 是因为大多数工具都只局限于某个单一功能。你在这里用一个 ping 扫描器,在那里用一个 SNMP walker,在另一个地方用 SMB 共享列举器,最终你不得不在三个终端标签页和一个电子表格之间来回拼凑,只为了能看清一个 /24 网段的全貌。这款工具拒绝这种妥协。它依赖于像 ICMP 和 SNMP 这样的显式发现协议来寻找存活的设备,随后进行有针对性的端口和服务探测,这样你就无需猜测一个开放的 socket 背后到底在运行什么。 它的目标用户包括:进行资产盘点审计的系统管理员、正在接管新办公网络的 IT 团队、学习枚举与简单 ping 扫描到底有何区别的学生,以及任何曾盯着路由器的 DHCP 表格心里犯嘀咕“好吧,但这堆东西到底在*运行*些什么”的人。没有服务器,没有偷偷把遥测数据传回家的行为,也不依赖云——它是一个独立的 Windows 可执行程序,只与你的网络通信,仅此而已。

Download

## 🧰 里面到底有什么 没人想看一大堆形容词堆砌的介绍,所以这里不使用常见的营销套话,而是直接告诉你这款工具能做什么: - **不作假的 Host discovery** —— 结合 ICMP 扫描与 ARP 回退机制,这样即使设备阻止了 ping,只要它们在本地网段上,依然会显示出来。 - **针对仍然开放该协议的设备进行 SNMP walking** —— 打印机、交换机以及那些向任何礼貌询问者广播系统信息的老旧设备。 - **Share 与 service 枚举** —— 探测 SMB shares、开放端口,并抓取常见服务的 banner,让你确切知道*什么*正在运行,而不是仅仅知道*有*东西在运行。 - **挖掘 Username 与 group** —— 在权限允许的情况下,提取本地账户和 group 信息,让你能在审计员之前发现孤立账户和过时的 group 成员关系。 - **实时结果表格** —— 无需等待最终报告;主机在响应时就会填充到表格中,并且支持实时排序和过滤。 - **无需二次处理的导出功能** —— 支持 CSV 和 JSON 输出,可以直接放入电子表格或脚本中而无需重新格式化。 - **零足迹安装** —— 单个可执行文件,没有后台服务,删除后也不会在注册表中留下垃圾。 - **预设的扫描配置** —— 保存一次“子网 + 设置”的组合,即可每周重复运行,无需从头重新配置。 ## 🚀 如何开始 这里的设置过程出奇地乏味,但这正是关键所在: 1. 点击上面的下载按钮前往主页。 2. 获取最新的 Windows 版本——它是一个单独的可执行文件,没有会向你索要灵魂的安装向导。 3. 运行它。Windows SmartScreen 可能会在首次启动时抱怨无法识别的发布者——这对于独立开发工具来说是正常的,直接点击继续运行即可。 4. 输入目标范围(单个 IP、CIDR 块或 IP 范围)并点击扫描。结果将在几秒钟内开始填充。 ## 💻 系统要求 | 要求 | 详情 | |---|---| | 操作系统 | Windows 10 或 Windows 11 (64-bit) | | 依赖项 | 无 —— 完全独立的二进制文件 | | 磁盘空间 | 50 MB 以下 | | 网络访问 | 显然是必需的 | | 管理员权限 | 建议使用,以获得完整的枚举深度 | | .NET runtime | 已内置,无需单独安装 |
为什么没有 Linux 或 macOS 版本?
许多更深度的枚举功能——本地 group 成员资格、share 权限解析、一些 SMB 底层机制——都依赖于 Windows 原生 API。如果不大幅削减功能,这些 API 在跨平台上并没有完美的替代方案。因此,与其发布一个被阉割的通用版本,这款工具坚持 Windows 优先,并力求把这个平台上的工作做到完美。一款专注于 Linux 的姊妹工具属于“也许哪天会有”,而不是现在的承诺。
## ⚙️ 工作原理 工作流程是有意设计为线性的——没有任何你无法掌控的隐藏异步魔法: 1. **目标定义** —— 你指定一个范围;工具会将其标准化并放入扫描队列。 2. **发现阶段** —— 在运行任何更重型的任务之前,先发送 ICMP 和 ARP 请求以寻找存活的主机。 3. **Service 探测** —— 针对存活的主机,根据精选的知名服务列表进行端口扫描。 4. **深度枚举** —— 对响应了 service 探测的主机运行 SNMP、SMB 和账户查询。 5. **聚合** —— 所有结果都会出现在结果表格中,可随时按需导出。 ``` flowchart LR Target --> Discovery Discovery --> Probing Probing --> Enumeration Enumeration --> Results ``` ## 🩺 故障排除 **问:扫描发现了主机,但只显示 IP,没有显示主机名。** 答:DNS 解析依赖于你的本地解析器是否真的知道这些主机。如果它们不在 DNS 或你的 hosts 文件中,你就只能得到 IP——这是预期行为,不是 bug。 **问:我知道某些设备支持 SNMP,但获取到的数据却是空的。** 答:大多数现代设备默认禁用了 SNMP,或者将其限制在非 `public` 的 community string 下。请先检查设备的管理面板。 **问:Windows Defender 将该可执行文件标记为了威胁。** 答:网络枚举工具会因为其接触 socket 和系统 API 的方式而触发启发式检测——这是一种常见的误报类型,并非这款工具独有。 **问:在 /16 网段上扫描速度极其缓慢。** 答:这大约涉及 65,000 个地址——请缩小范围或将其拆分为多个扫描配置。这款工具将准确性置于盲目追求速度之上。 **问:有些主机在发现阶段出现了,但在深度枚举阶段却消失了。** 答:它们很可能阻止或限速了后续的探测请求。基本上是防火墙在履行它们的职责。 **问:我可以同时运行多个扫描配置吗?** 答:可以,但每个并发扫描都会消耗带宽和 CPU——如果你的硬件性能一般,最好错开运行。 ## 🎨 UI / UX 说明 - **主题** —— 包含 Dark(默认)、Light,以及为了无障碍访问而设计的 High Contrast 模式。 - **键盘快捷键**: | 快捷键 | 操作 | |---|---| | `Ctrl + N` | 新建扫描配置 | | `Ctrl + R` | 重新运行上次扫描 | | `Ctrl + E` | 导出结果 | | `Ctrl + F` | 过滤结果表格 | | `Esc` | 取消正在进行的扫描 | - **设置面板** —— timeout 阈值、线程数、SNMP community string 预设以及导出格式的默认值,全部集中在一个齿轮图标下,而不是分散在五个标签页里。 - **表格实时排序** —— 在扫描过程中点击任意列标题即可排序;它不会为了让你排序而暂停扫描。 ## 📄 许可证 基于 [MIT License](LICENSE) 发布,2026 年。你可以使用它、fork 它、在它的基础上进行开发——只是别把许可证去掉,然后假装它是你从头写出来的。 ## ⚠️ 免责声明

Download

标签:Windows工具, 后端开发, 多人体追踪, 局域网探测, 插件系统, 数据统计, 端口扫描, 端点可见性, 网络枚举