Khanu123/nmap-port-scanner

GitHub: Khanu123/nmap-port-scanner

一个 Python 编写的 Nmap 封装工具,用于在授权环境中执行端口扫描和服务发现,并自动生成 JSON 与 Markdown 格式的报告。

Stars: 0 | Forks: 0

# Nmap 端口扫描器 一个用于授权主机发现、服务检测和简单报告生成的 Python Nmap 命令行封装工具。 ## 概述 该项目通过 Python 运行 Nmap 扫描,在终端中展示扫描结果,并将结果导出为 JSON 和 Markdown。它旨在用于在受控且基于许可的环境中学习网络侦察。 ## 功能 - 从命令行接收目标主机。 - 支持自定义 Nmap 扫描参数。 - 在允许的情况下运行服务/版本检测。 - 将扫描结果导出到 `reports/`。 - 生成 JSON 和 Markdown 输出,便于查看。 ## 环境要求 - Python 3.9+ - 已安装 Nmap 并可在 PATH 中使用 - `python-nmap` 检查是否已安装 Nmap: ``` nmap --version ``` 安装 Python 依赖项: ``` pip install -r requirements.txt ``` ## 使用说明 基本扫描: ``` python port_scanner.py scanme.nmap.org ``` 带服务检测的前 100 个端口扫描: ``` python port_scanner.py scanme.nmap.org --args "-sS -sV --top-ports 100" ``` ## 输出 报告保存在: ``` reports/ ``` ## 负责任的使用 仅扫描您拥有或获得明确授权评估的系统。未经授权的扫描可能会造成破坏,并可能违反政策或法律。 ## 作品集说明 本仓库展示了围绕行业标准安全工具的 Python 自动化能力。下一步的最佳改进方向包括输入验证、更安全的默认扫描配置,以及针对报告生成的测试。 ## 当前代码改进 - 添加了目标验证,以拒绝 shell 样式的字符。 - 为报告添加了自动创建输出目录的功能。 - 精简了 Markdown 报告的免责声明文本。 - 添加了针对目标验证的单元测试。 ## 测试 ``` python -m unittest discover -v ``` ## 雇主评审 | 领域 | 证据 | | --- | --- | | 岗位相关性 | 初级渗透测试员 / 网络安全分析师 / 网络安全 | | 主要安全经验 | 侦察输出应当是可控、有记录的,并能转化为有用的报告 | | 防御价值 | 展示了对 Nmap 的熟悉程度、CLI 自动化、服务发现以及报告生成能力 | | 安全范围 | 仅限授权扫描;默认使用时应针对自有的实验室或获得许可的系统 | ## 专业化加固建议 - 添加严格的目标验证,并在扫描运行前给出明确的警告。 - 添加安全的扫描配置,例如 `quick`、`service-detect` 和 `full-authorized`。 - 为无法访问的主机添加超时和错误处理。 - 为报告格式化和参数解析添加单元测试。 - 添加示例报告,展示如何向利益相关者解释扫描结果。 ## 面试讨论点 - 发现扫描、服务检测和激进扫描之间的区别。 - 为什么在运行 Nmap 之前,权限和范围至关重要。 - 扫描结果如何转化为修复优先级。 - Python 如何将原始命令行输出转化为可重复生成的报告。
标签:CTI, Nmap, Python, 云存储安全, 插件系统, 无后门, 网络扫描, 虚拟驱动器, 逆向工具