asif-visionary/vulnerability-scanner

GitHub: asif-visionary/vulnerability-scanner

基于 Python 和 Nmap 的网络漏洞扫描器,通过端口扫描、Banner 抓取、操作系统检测和 NSE 漏洞脚本来识别联网系统中的潜在安全风险。

Stars: 1 | Forks: 0

# 🔍 漏洞扫描器 一个基于 Python 的网络漏洞扫描器,旨在通过端口扫描、Banner 抓取、服务枚举、操作系统检测以及使用 Nmap 进行漏洞评估,来识别联网系统中的潜在安全风险。 本项目演示了基本的网络安全概念,包括侦察、漏洞评估、网络枚举和安全扫描实践。 ## 📌 功能 ### 端口扫描 * 扫描指定范围的 TCP 端口 * 识别目标主机上的开放端口 * 快速了解暴露的服务 ### Banner 抓取 * 连接到开放端口 * 在可用时获取服务 Banner * 帮助识别正在运行的应用程序和服务版本 ### 服务枚举 * 检测活动的网络服务 * 辅助识别暴露的应用程序 ### 操作系统检测 * 使用 Nmap 操作系统指纹识别 * 尝试识别目标操作系统 ### 漏洞评估 * 使用 Nmap NSE 漏洞脚本 * 在受支持的情况下检测已知漏洞 * 为暴露的服务提供额外的安全洞察 ### 扫描性能跟踪 * 测量扫描的开始和结束时间 * 显示总扫描持续时间 ## 🛡️ 演示的安全概念 本项目演示了以下几个网络安全概念: * 网络侦察 * 端口扫描 * 服务枚举 * Banner 抓取 * 操作系统指纹识别 * 漏洞评估 * 攻击面发现 * 安全审计 * Nmap 脚本引擎 (NSE) * 网络安全基础 ## ⚙️ 使用的技术 * Python 3.x * Socket 编程 * Nmap * python-nmap * Datetime 模块 * Git & GitHub ## 📂 项目结构 ``` vulnerability-scanner/ │ ├── app.py ├── README.md ├── requirements.txt ├── .gitignore ├── LICENSE │ └── screenshots/ └── demo.png ``` ## 🚀 安装说明 ### 克隆仓库 ``` git clone https://github.com/asif-visionary/vulnerability-scanner.git cd vulnerability-scanner ``` ### 创建虚拟环境 #### Windows ``` python -m venv .venv ``` 激活: ``` .venv\Scripts\activate ``` #### Linux / macOS ``` python3 -m venv .venv ``` 激活: ``` source .venv/bin/activate ``` ### 安装依赖项 ``` pip install -r requirements.txt ``` ## 📖 Nmap 安装 本项目需要您的系统安装 Nmap。 ### Windows 下载并安装 Nmap: https://nmap.org/download.html 验证安装: ``` nmap --version ``` ### Linux ``` sudo apt update sudo apt install nmap ``` 验证: ``` nmap --version ``` ## 安装依赖项 ``` pip install -r requirements.txt ``` ## ▶️ 运行应用程序 ``` python app.py ``` 示例: ``` Enter the target IP or Hostname: scanme.nmap.org Enter the starting port for scanning: 20 Enter the ending port for scanning: 100 ``` ## 🧪 示例输出 ``` Starting network scan for target: scanme.nmap.org... Open ports found: [22, 80] Banner for scanme.nmap.org:22 SSH Service Detected Banner for scanme.nmap.org:80 HTTP Service Detected Operating System: Linux Scan completed in: 0:00:15.234567 ``` ## 🔒 工作原理 扫描器执行以下步骤: 1. 扫描指定的端口范围。 2. 识别开放端口。 3. 尝试对检测到的服务进行 Banner 抓取。 4. 使用 Nmap 执行服务和操作系统检测。 5. 执行 Nmap 漏洞脚本。 6. 显示扫描结果和执行时间。 ## 🎯 学习成果 通过本项目,用户可以学习到: * 网络扫描技术 * TCP 端口枚举 * 服务发现 * Banner 抓取方法 * 操作系统指纹识别 * 漏洞检测 * 使用 Python 实现 Nmap 自动化 * 网络安全评估基础 * 安全的网络审计实践 ## 🔮 未来改进 未来可能的改进: * 多线程端口扫描 * 基于 Web 的仪表板 * PDF 报告生成 * 将结果导出为 JSON/CSV * CVE 映射集成 * 风险评分系统 * 扫描历史跟踪 * 自动化的修复建议 ## ⚠️ 免责声明 本项目仅供教育目的和授权的安全测试使用。 在扫描、测试或评估任何网络、系统或服务之前,用户必须获得明确的许可。 未经授权的扫描可能会违反当地法律、组织政策或服务协议。 对于因使用本软件而导致的误用、损害或法律后果,作者不承担任何责任。 请始终以负责任和符合道德规范的方式进行安全测试。 ## 📄 许可证 本项目基于 MIT 许可证授权。 ## 👨‍💻 作者 Mohamed Asif 网络安全爱好者 | SOC | 云安全 | 应用安全
标签:CTI, Nmap, Python, 加密, 插件系统, 数据统计, 无后门, 漏洞扫描器, 端口扫描, 网络安全, 虚拟驱动器, 隐私保护