Network Scanner

⚠️ 零信任本地网络安全扫描器

基于 nmap 的本地网络设备发现工具,通过内置多重安全防护帮助企业 IT 安全管理人员合规扫描与资产盘点。

收藏
19.6k
安装
4.4k
版本
1.1.0
CLS 安全性认证2026-05-07
点击查看完整报告 >

使用说明

Network Scanner 综合评估

核心用法

Network Scanner 是一个基于 nmap 的专业网络扫描脚本工具,专为本地或私有网络环境设计。其核心功能是自动发现子网内的所有在线设备,并收集其 IP 地址、MAC 地址、主机名(通过反向 DNS)和硬件制造商信息。用户可以通过命令行指定 CIDR 地址段或预配置的网络名称(如 home、office)进行快速扫描,并支持 Markdown 表格或结构化 JSON 格式输出。该技能旨在解决网络资产盘点、安全审计和自动化设备发现等实际问题。

显著优点

该技能的安全防护设计是其最大亮点。代码内置了黑名单拦截、公网 IP 扫描阻断和路由验证三道防线,可以从根源上防止因误操作扫描外部公共网络而触发云服务商的滥用警告或法律风险。在执行层面,它使用成熟的 nmap 标准工具进行底层探测,能够提供稳定且专业的扫描结果。此外,该技能完全不依赖任何第三方库,仅使用 Python 标准库运行,这极大降低了供应链攻击的风险,确保了软件本身的纯净和轻量。

潜在缺点或局限性

受限于其安全策略,该工具无法对任何公共 IP 或未配置私有路由的地址进行扫描,这在提供了极强保护的同时,也限制了它在混合云等复杂网络环境下的灵活扩展能力。技术上,其运行依赖于 nmap 和 dig 系统工具,未安装这些依赖的操作系统无法直接使用。此外,为了实现精确的 MAC 地址探测,工具默认需要 sudo 权限进行 ARP 扫描,虽然提供了 --no-sudo 参数来规避,但这会导致获取的资产信息不完整,这对于追求精细化管理的用户来说是一个取舍点。

适合的目标群体

本技能非常适合负责内部网络安全和运维的 IT 管理员、MSP(管理服务提供商)、参与红蓝对抗或渗透测试的安全工程师,以及需要在本地实验室或家庭网络中管理大量 IoT 设备的技术爱好者。对于需要对办公网、研发内网进行定期的资产盘点和未知设备排查的场景,该工具能够发挥巨大价值。

使用该技能的常规与安全风险

尽管安全认证报告给出了 S 级(80 分)的优秀评价,用户仍需注意代码来自于 T3 信任级别的个人开发者,且未声明开源许可证,这意味着缺乏大规模的社区审计和明确的商业支持。代码中尽管对输入做了严格的 ipaddress 模块验证,但其在核心调用处仍采用了 subprocess 与 shell=True 的组合模式来执行系统命令,这属于一种依赖预判逻辑完整性的防御性编程,理论上仍存在潜在的注入面。建议在部署运行前,由内部专业人员进行代码审查。此外,频繁或大规模的本地网络扫描会消耗网络资源并可能触发内部入侵检测系统的告警,应当合理安排扫描时间和频次。

安全解读

核心功能

network-scanner是一款专为本地网络资产管理设计的扫描工具,基于成熟的nmap引擎实现IP发现、主机名反查、MAC地址识别及厂商推断。支持通过配置文件管理多网络环境,输出Markdown表格或JSON结构化数据,便于集成到自动化流程。

显著优点

  • 安全防护完善:三层防护机制(黑名单、公网IP自动阻断、路由验证)有效防止误操作导致的滥用投诉
  • 零外部依赖:仅使用Python标准库,彻底规避供应链攻击风险
  • 灵活配置:支持命名网络快速切换,JSON/Markdown双格式输出
  • 功能精准:针对局域网场景优化,sudo可选设计平衡权限需求与使用便利性

潜在局限

  • 命令注入风险--dns参数未充分过滤直接拼接shell命令,恶意构造的DNS地址可触发任意代码执行
  • MAC识别受限:无sudo环境下ARP扫描失效,MAC地址字段为空
  • 来源可信度一般:T3级别个人项目,缺乏顶级开源基金会背书
  • 厂商数据库有限:内置MAC厂商映射需手动扩展,识别准确率依赖本地维护

适合人群

家庭网络管理员、小型企业IT运维、网络安全学习者、智能家居自动化爱好者。特别适合需要定期盘点网络设备、生成合规文档或集成到Home Assistant等平台的场景。

常规风险

1. 权限提升:shell=True配合用户可控参数存在中危命令注入通道
2. 配置泄露~/.config/network-scanner/networks.json可能暴露内网拓扑,建议设置600权限

3. 依赖工具风险:nmap本身若存在漏洞将影响本工具安全性

4. 误扫描风险:虽有多重防护,但配置错误仍可能触及受限网络

Network Scanner 内容

scripts文件夹
手动下载zip · 6.9 kB
scan.pytext/plain
请选择文件