SagarBiswas-MultiHAT/NmapScanningTool-V1

GitHub: SagarBiswas-MultiHAT/NmapScanningTool-V1

一个Nmap的交互式Python封装工具,通过菜单驱动的问答界面简化网络扫描操作,内置多种预设扫描配置。

Stars: 19 | Forks: 0

# Nmap 扫描工具 (main_v1.7.py) 这是 Nmap 的交互式封装工具,旨在让常用扫描快速运行且易于阅读。它会打印一个 Banner,询问目标和端口,让你选择扫描类型(SYN、Aggressive、OS 检测、NSE 漏洞检查等),并可以选择仅显示包含开放端口的行。 ### A). ![Nmap Scanning Tool](https://imgur.com/GHvPuD6.jpg) ### B). ![Nmap Scanning Tool](https://imgur.com/zejtHl3.jpg)
## 功能 - 目标 + 端口提示(单个端口、如 `1-1000` 的范围,或留空扫描所有 `1-65535`) - 12 个即用型扫描配置文件: 1. SYN (隐蔽) 扫描 `-sS` + OS 检测 `-O` 2. Aggressive 扫描 `-A` (OS + 服务 + 脚本 + 路由跟踪) 3. 服务/版本检测 `-sV` 4. NSE 漏洞扫描 `--script=vuln` 5. Heartbleed 测试 `--script=ssl-heartbleed` 6. HTTP 安全标头 `--script=http-security-headers` 7. HTTP SQL 注入测试 `--script=http-sql-injection` 8. SMB 漏洞扫描 `--script=smb-vuln*` 9. SSL/TLS 密码 `--script=ssl-enum-ciphers` 10. 服务发现 (默认 NSE 集) `--script=default` 11. 仅 OS 检测 `-O` 12. 自定义:你输入额外的 Nmap 参数 (例如, `-sU -T4 --top-ports 200`) - 可选输出过滤器:仅显示包含单词 "open" 的行 - 贴心的检查和消息: - 当某些扫描可能需要权限时,会警告你是否以 Administrator/root 运行 - 验证 Nmap 是否已安装并在 PATH 中,提供特定于操作系统的提示 ## 系统要求 - Python 3.8+ (经 Python 3 测试) - Nmap 已安装并在 PATH 中 - Windows: https://nmap.org/download.html (使用官方安装程序,然后重启终端) - Linux (Debian/Ubuntu): `sudo apt install nmap` - Linux (RHEL/CentOS): `sudo yum install nmap` - macOS (Homebrew): `brew install nmap` - Python 包: `pyfiglet`, `termcolor` ## 快速开始 你运行的脚本是此文件夹中的 `main_v1.7.py`。 ### Windows (PowerShell) 可选但推荐:创建并使用虚拟环境。 ``` # 可选:允许当前 PowerShell 会话运行 venv 激活脚本 # (仅在遇到执行策略错误时需要) Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned # 在 .venv 中创建并激活虚拟环境 python -m venv .venv .\.venv\Scripts\Activate.ps1 # 升级 pip 并安装依赖项 python -m pip install --upgrade pip python -m pip install pyfiglet termcolor # 运行 python .\main_v1.7.py ``` 或者,如果你更喜欢使用 requirements 文件,可以使用以下命令创建一个: ``` # 可选替代方案 python -m pip install -r requirements.txt ``` ### Linux / macOS (Bash/Zsh) ``` python3 -m venv ~/myvenv source ~/myvenv/bin/activate python -m pip install --upgrade pip python -m pip install pyfiglet termcolor python main_v1.7.py ``` ## 使用流程 1. 输入目标 IP 或主机名:`192.168.1.10` 或 `scanme.nmap.org` 2. 输入端口或范围(或留空扫描所有 `1-65535`) 3. 选择扫描类型 (1–12) 4. 选择是否过滤并仅显示包含 "open" 的行 5. 阅读输出;警告(如果有)会显示在主要结果之后 ### 示例 - 对前 1000 个端口进行快速服务/版本扫描: - 选择扫描类型 `3` (Service Version Detection) - 广泛的漏洞扫描: - 选择扫描类型 `4` (NSE vuln scripts) - 自定义 UDP 侧重扫描: - 选择 `12` 并输入:`-sU --top-ports 200 -T4` ## 权限与特权 - SYN 扫描 (`-sS`) 和 OS 检测 (`-O`) 通常需要提升的权限 - Windows: 以 Administrator 身份运行 PowerShell - Linux/macOS: 如果脚本警告权限问题,请使用 `sudo` 运行 - 如果扫描失败或显示结果极少,请尝试提升权限后重新运行 ## 故障排除 - "Nmap executable was not found" - 安装 Nmap,然后关闭并重新打开终端 - 确认 `nmap` 可以在终端运行:`nmap -V` - "Permission denied" 或缺少 SYN/OS 结果 - 以 Administrator 身份运行终端 (Windows) 或使用 `sudo` (Linux/macOS) - 无输出 / 仅有警告 - 检查目标和你网络上的防火墙规则 - 通过自定义扫描尝试不同的时序选项(例如 `-T3` 或 `-T4`) ## 安全与道德 仅扫描你拥有或明确授权测试的系统。未经授权的扫描可能是非法的或违反服务条款。 ## 文件映射 - `main_v1.7.py` – 具有多种扫描配置文件的交互式 Nmap 封装器 - `main_v1.6.py` – 上一个迭代版本;已被 v1.7 取代,保留供参考 - `main_v1.1.py` – 早期更简单的版本(基本 SYN/TCP 扫描) ## 致谢 - 由 Sagar Biswas 创建 - 使用:[Nmap](https://nmap.org/), [pyfiglet](https://pypi.org/project/pyfiglet/), [termcolor](https://pypi.org/project/termcolor/)
标签:CTI, Nmap, NSE脚本, Python, SMB安全, SQL注入检测, SSL/TLS检测, SYN扫描, 二进制发布, 交互式工具, 域名解析, 安全脚本, 密码管理, 开源工具, 插件系统, 操作系统识别, 数据统计, 无后门, 服务指纹, 端口扫描, 网络安全, 虚拟驱动器, 逆向工具, 隐私保护