Nmap图形化扫描工具

FastNmap是一个强大、现代化的Nmap图形界面工具,为网络管理员和安全研究人员提供了友好的可视化界面,让“扫描之王”Nmap的功能变得简单易用,同时集成了高级功能,包括漏洞扫描、端口服务识别、操作系统识别、资产监控、资产对比与资产管理等。

20260421103436963-image

20260421103442382-image

20260421103449101-image

✨ 核心特性

新版架构

20260421103456901-image

🔍 多样化扫描功能

    • 多种扫描类型: 默认扫描、存活检测、服务识别、系统识别、端口识别、暴力破解、漏洞扫描

    • 灵活的端口配置: 预定义端口组、自定义端口范围、智能端口选择

    • 高级扫描选项: 自定义时间控制、线程管理、超时设置、附加参数

    • 实时结果显示: 实时扫描进度显示和详细的 XML 输出解析

20260421103503905-image

📊 资产监控系统

    • 持续监控: 为网络资产安排定期扫描任务

    • 变化检测: 自动检测新主机、服务和端口变化

    • 历史记录追踪: 维护扫描历史并支持对比功能

    • 智能警报: 突出显示扫描结果之间的差异

20260421103517420-image

20260421103538923-image

资产监控3

📈 报告与分析

    • HTML报告: 生成美观、交互式的 HTML 报告

    • 资产对比: 当前扫描与历史扫描的可视化对比

    • 趋势分析: 历史数据分析和趋势展示

    • 多种导出格式: 支持多种导出格式以便集成其他系统

报告1

报告2

🎨 现代化界面

    • 深色主题: 专业的深色界面配以科技感美学设计

    • 响应式设计: 适应不同窗口大小和分辨率

    • 标签页界面: 有组织的工作流程,为不同功能设置专用标签页

    • 实时更新: 实时进度指示和状态更新

📋 使用指南

基础扫描

    1. 在目标输入框中输入 IP 地址、主机名或网络范围

    1. 从可用选项中选择扫描类型

    1. 配置端口(可选 – 使用智能默认值)

    1. 点击”开始”按钮开始扫描

资产监控

    1. 导航到”资产监控”标签页

    1. 添加要监控的目标

    1. 配置扫描间隔和参数

    1. 开始监控以进行持续的资产跟踪

资产对比

    1. 转到”资产对比”标签页

    1. 选择已监控的目标

    1. 查看详细对比和变化

    1. 生成报告用于文档记录

🔧 扫描类型详解

扫描类型说明使用场景
默认扫描快速 SYN 扫描与服务检测通用网络发现
服务识别详细的服务版本检测服务清单
系统识别操作系统指纹识别资产分类
端口识别专注的端口扫描与服务信息端口分析
暴力破解自动化凭据测试安全测试
漏洞扫描已知漏洞检测安全评估

特殊功能

端口识别的 IP:端口格式

端口识别支持 127.0.0.1:445 格式,系统会自动解析:

    • IP地址:用作扫描目标

    • 端口号:用作扫描端口

    • 示例:输入 192.168.1.100:80 将扫描 192.168.1.100 的 80 端口

⚙️ 系统配置

目录结构

FastNmap/                               # 项目根目录
├── src/                                # 源代码
│   ├── __init__.py
│   ├── core/                           # 核心业务模块
│   │   ├── __init__.py
│   │   ├── command_builder.py        # Nmap 命令构造器
│   │   ├── nmap_executor.py          # 扫描执行与调度
│   │   ├── nmap_parser.py            # XML 结果解析
│   │   ├── asset_monitor.py          # 资产持续监控
│   │   └── html_report.py            # HTML 报告生成
│   ├── gui/                            # 图形界面
│   │   ├── __init__.py
│   │   ├── main_window.py              # 主窗口
│   │   ├── tabs/                       # 各功能页
│   │   │   ├── __init__.py
│   │   │   ├── scan_tab.py
│   │   │   ├── monitor_tab.py
│   │   │   └── compare_tab.py
│   │   └── widgets/                    # 复用组件
│   │       ├── __init__.py
│   │       ├── console.py
│   │       └── progress.py
│   ├── utils/                          # 工具集
│   │   ├── __init__.py
│   │   ├── constants.py               # 端口组、默认参数
│   │   └── logger.py                  # 日志封装
│   ├── config/                         # 配置文件(预留)
│   │   ├── __init__.py
│   │   └── settings.yaml
│   └── data/                           # 运行时数据(预留)
│       └── .gitkeep
├── assets/                             # 静态资源
│   ├── icons/                          # 界面图标
│   ├── dict/                           # 暴力破解字典
│   │   ├── ssh_user.txt
│   │   ├── ssh_pass.txt
│   │   ├── ftp_user.txt
│   │   └── ftp_pass.txt
│   └── css/                            # HTML 报告样式
│       └── report.css
├── monitor_data/                       # 资产监控持久化
│   ├── .gitkeep
│   └── readme.md
├── logs/                               # 运行日志
│   ├── .gitkeep
│   └── readme.md
├── nmap/                               # 内置 nmap 二进制
│   ├── Win32/
│   │   └── nmap.exe                   # Windows 可执行
│   ├── Linux/
│   │   └── nmap                       # Linux 静态二进制
│   └── macOS/
│       └── nmap                       # macOS 可执行
├── tests/                              # 单元测试
│   ├── __init__.py
│   ├── test_command_builder.py
│   └── test_parser.py
├── docs/                               # 文档
│   ├── README_PACKAGING.md
│   └── BUILD.md
├── main.py                             # 程序入口
├── requirements.txt                    # Python 依赖
├── README.md                           # 项目说明
├── LICENSE                             # 许可
└── .gitignore                          # 规则

自定义配置

    • 端口组: 修改 src/utils/constants.py 自定义端口定义

    • 扫描模板: 调整 src/core/command_builder.py 自定义扫描配置

    • 界面主题: 在 GUI 组件中自定义样式

🛡️ 安全功能

内置安全工具

    • 基于字典的暴力破解: 内置常见服务的用户名密码字典

    • 漏洞检测: 集成 Nmap 漏洞检测脚本

    • 安全扫描: 可配置的时间和强度控制

    • 审计日志: 全面记录所有扫描活动

暴力破解支持的服务

    • 远程访问: SSH, Telnet, RDP, VNC, Radmin

    • 数据库: MySQL, MSSQL, Oracle, PostgreSQL, Redis

    • 文件服务: FTP, SMB

    • Web服务: HTTP Basic Auth(可扩展)

📊 监控与报告

资产监控功能

    • 自定义间隔扫描(分钟到小时)

    • 网络拓扑变化跟踪

    • 服务可用性和变化监控

    • 历史数据保留和分析

报告特性

    • 带有嵌入式 CSS 和 JavaScript 的 HTML 报告

    • 显示前后状态对比的比较视图

    • 详细的端口和服务变化跟踪

    • 外部系统导出功能

🔍 高级功能

命令行集成

FastNmap 构建优化的 Nmap 命令,具备:

    • 自动参数去重

    • 智能时间调整

    • 平台特定优化

    • 错误处理和验证

性能优化

    • 多线程支持

    • 高效的 XML 解析

    • 智能缓存机制

    • 资源感知扫描

扩展性设计

    • 模块化架构,便于功能扩展

    • 插件化的扫描类型支持

    • 可配置的输出格式

    • API接口预留设计

🐛 故障排除

常见问题

无法找到nmap

程序启动后,将依下列优先级自动定位并调用 nmap,无需用户手动配置:

    1. 先检查程序目录下的相对路径
      Windows:{程序所在目录}\nmap\nmap.exe
      macOS / Linux:{程序所在目录}/nmap/nmap
      若该文件存在且具备可执行权限,则直接使用。

    1. 若未命中,则检索系统环境变量 PATH,调用 shutil.which('nmap') 获取已安装的 nmap 可执行路径。

    1. 如 PATH 中仍未找到,将依次扫描各平台常见安装目录:
      Windows:
      • C:\Program Files (x86)\Nmap\nmap.exe
      • C:\Program Files\Nmap\nmap.exe

      macOS:

      • /Applications/nmap.app/Contents/Resources/bin/nmap
      • /usr/local/bin/nmap
      • /opt/homebrew/bin/nmap
      • /usr/bin/nmap

      Linux:

        • /usr/bin/nmap

    1. 上述步骤皆未定位到有效 nmap 时,程序将回退至默认命令 nmap,并在后续执行中抛出明确错误提示,指引用户完成安装或手动指定路径。

程序无法启动

    • 确保安装了 Python3

    • 验证 PyQt5 安装:pip install PyQt5

    • 检查 main.py 文件是否完整

找不到 Nmap

    • 验证 Nmap 安装

    • 检查 PATH 环境变量

    • 如有需要,在配置中使用完整路径

权限错误

    • 网络扫描需要适当的权限运行

    • 某些扫描类型需要管理员/root权限

    • Windows 用户可能需要”以管理员身份运行”

扫描结果异常

    • 检查目标地址格式

    • 验证网络连接

    • 查看扫描日志获取详细信息

性能优化建议

提升扫描速度

    • 调整线程并发数

    • 使用快速模式进行初步扫描

    • 针对性选择端口范围

减少资源占用

    • 合理设置扫描间隔

    • 定期清理历史数据

    • 监控系统资源使用情况

下载安装

 

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 共10条

请登录后发表评论

    暂无评论内容