Netventory 网络扫描工具技术分析

一、新闻概述

1. 标题

Netventory:快速单二进制网络扫描工具,支持 TUI 和 WebUI 双界面

2. 发布时间

2025 年 1 月(当前版本 v0.3.0n)

3. 来源

GitHub 开源项目

4. 作者

RamboRogers

二、核心内容

1. 事件摘要

A. 主要内容

Netventory 是一个用 Go 语言编写的快速网络发现工具,提供终端 TUI 和 Web 两种用户界面,无需 root 权限即可运行。

B. 核心亮点

  • 单二进制可执行文件,无需额外依赖
  • 跨平台支持 Linux、macOS 和 Windows
  • 双界面设计:终端 TUI 和 WebUI
  • 高并发扫描架构,性能优异
  • 多协议主机名解析
  • MAC 地址厂商识别

2. 关键信息

A. 版本号

当前版本:v0.3.0n

B. 技术栈

  • 语言:Go 1.21+(GPLv3 开源许可)
  • 架构:并发扫描 + Worker Pool

C. 涉及技术

  • 网络扫描、端口检测
  • NetBIOS、SMB、RDP、mDNS 协议解析
  • WebSocket 实时通信
  • Token 认证机制

3. 背景介绍

A. 项目定位

网络发现和网络审计工具,替代传统的 nmap 等复杂工具,提供更友好的用户界面。

B. 相关上下文

网络扫描工具通常分为命令行工具(如 nmap)和图形化工具(如 Angry IP Scanner),Netventory 结合了两者的优势。

三、详细报道

1. 主要功能

A. 网络发现

  • 快速网络扫描,可配置 Worker 数量
  • 自动检测网络接口和计算 CIDR 范围
  • MAC 地址解析和厂商查找
  • 端口扫描(22、80、443、445、139、135、8080、3389、5900、8006)
  • 无需 root 权限

B. 高级主机名解析

Netventory v0.3.0n 引入了多层主机名解析策略:

graph TD
    A[目标设备] --> B{DNS 解析}
    B -->|成功| F[主机名]
    B -->|失败| C{NetBIOS}
    C -->|成功| F
    C -->|失败| D{SMB 主机名}
    D -->|成功| F
    D -->|失败| E{RDP 证书}
    E -->|成功| F
    E -->|失败| G{mDNS/Bonjour}
    G -->|成功| F
    G -->|失败| H[使用 IP 地址]

mermaid

C. 设备类型检测

  • Apple 设备:通过厂商 OUI、端口开放情况和 mDNS 发现
  • Windows 设备:通过 SMB 和 NetBIOS 检测
  • Proxmox 虚拟化平台:检测 8006 端口

D. 协议增强

  • SMB:支持来宾账户、匿名访问回退、共享枚举
  • RDP:TLS 证书解析,提取 CN 和 SAN
  • mDNS:服务类型发现、Apple 专用服务检测

2. 技术架构

A. 系统组成

graph TB
    subgraph 用户界面层
        TUI[终端 TUI]
        WEB[Web UI]
    end

    subgraph 业务逻辑层
        SCAN[扫描引擎]
        RESOLVE[主机名解析器]
        DETECT[设备检测器]
    end

    subgraph 协议层
        DNS[DNS 客户端]
        NETBIOS[NetBIOS]
        SMB[SMB 客户端]
        RDP[RDP 证书解析]
        MDNS[mDNS 客户端]
    end

    subgraph 网络层
        WORKER[Worker Pool]
        ICMP[ICMP Ping]
        TCP[TCP 端口扫描]
    end

    TUI --> SCAN
    WEB -->|WebSocket| SCAN
    SCAN --> WORKER
    WORKER --> ICMP
    WORKER --> TCP

    RESOLVE --> DNS
    RESOLVE --> NETBIOS
    RESOLVE --> SMB
    RESOLVE --> RDP
    RESOLVE --> MDNS

    SCAN --> RESOLVE
    SCAN --> DETECT
    DETECT --> SMB
    DETECT --> MDNS

mermaid

B. 并发扫描模型

sequenceDiagram
    participant M as 主控制器
    participant W as Worker Pool
    participant T as 目标设备

    M->>W: 分配 IP 段
    par 并发扫描
        W->>T: ICMP Ping
        W->>T: TCP 端口检测
    end
    T-->>W: 返回在线状态
    W->>W: 端口扫描
    W->>W: MAC 地址解析
    W-->>M: 设备信息
    M->>M: 主机名解析
    M->>M: 设备类型判断

C. Web 架构

graph LR
    C[客户端浏览器] -->|HTTP + WebSocket| S[Web 服务器]
    S -->|Token 验证| A[认证中间件]
    A -->|通过| S
    S -->|扫描请求| E[扫描引擎]
    E -->|实时更新| S
    S -->|WebSocket 推送| C

mermaid

3. 技术细节

A. 性能指标

  • 默认 Worker 数量:50
  • 可配置 Worker 范围:用户自定义
  • 扫描速度:高并发非阻塞设计
  • 内存占用:优化的设备追踪

B. 安全设计

  • Token 认证:WebUI 访问需要唯一 Token
  • 不收集敏感数据
  • 隐私优先设计
  • 无需 root 权限

C. 兼容性

  • Linux
  • macOS
  • Windows(PowerShell 安装脚本)

四、影响分析

1. 行业影响

A. 竞争格局

  • 与 nmap 相比:更友好的界面,更简单的使用
  • 与 Angry IP Scanner 相比:跨平台、命令行和 Web 双界面
  • 与 masscan 相比:更侧重设备发现而非速度

B. 技术趋势

  • 单二进制部署趋势
  • TUI 和 WebUI 融合
  • 零依赖部署模式

2. 用户影响

A. 目标用户

  • 网络管理员
  • 安全研究人员
  • IT 运维人员
  • 网络爱好者

B. 应用场景

  • 网络审计:快速发现网络设备
  • 安全评估:端口和服务枚举
  • 网络管理:设备清单和追踪
  • 故障排查:网络连接验证

3. 技术优势

A. 相比传统工具

  • 无需复杂参数配置
  • 实时可视化反馈
  • 跨平台一致性体验
  • 丰富的设备信息

B. 创新点

  • 多协议主机名解析回退机制
  • 设备类型智能识别
  • WebSocket 实时更新
  • 单二进制零依赖

五、各方反应

1. 项目特点

  • GitHub Stars:持续增长中
  • 开源许可:GPLv3
  • 社区活跃:持续迭代更新

2. 技术评价

A. 优点

  • 界面美观,交互友好
  • 性能优秀,扫描快速
  • 功能全面,协议丰富
  • 部署简单,单文件运行

B. 限制

  • 相比 nmap 功能较简单
  • 不支持自定义脚本
  • 高级扫描选项较少

六、使用指南

1. 安装方式

Mac 和 Linux

curl -L https://raw.githubusercontent.com/RamboRogers/netventory/refs/heads/master/install.sh | sh

或使用 Homebrew(Mac):

brew tap ramborogers/netventory
brew install netventory

Windows PowerShell

iwr -useb https://raw.githubusercontent.com/RamboRogers/netventory/refs/heads/master/install.ps1 | iex

2. 命令行选项

# 终端模式
netventory              # 启动终端界面
netventory -d          # 启用调试模式

# Web 模式
netventory -w          # 启动 Web 界面
netventory -p 8080     # 指定 Web 端口

# 性能调优
netventory --workers 100  # 设置 Worker 数量

# 信息查询
netventory -v          # 显示版本信息
netventory -h          # 显示帮助

3. Web 访问

启动 Web 模式后,使用生成的 Token 访问:

http://localhost:7331?auth=<token>

七、版本演进

v0.3.0n(当前版本)

  • 增强设备发现功能
  • 多协议主机名解析
  • Proxmox 端口检测

v0.2.0n

  • 完整的 Web 界面
  • WebSocket 实时更新
  • Token 认证机制

早期版本

  • 终端 TUI 界面
  • 基础网络扫描功能
  • MAC 地址解析

参考资料

  1. Netventory GitHub 仓库
最后修改:2026 年 01 月 25 日
如果觉得我的文章对你有用,请随意赞赏