tombastinkjos/network-vulnerability-scanner

GitHub: tombastinkjos/network-vulnerability-scanner

一个基于Python标准库的多线程命令行网络漏洞扫描器,通过TCP端口扫描、banner抓取和CVE数据库匹配来识别目标主机的已知漏洞服务。

Stars: 0 | Forks: 0

# 🔍 网络漏洞扫描器 ![Python](https://img.shields.io/badge/Python-3.6%2B-blue.svg) ![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg) ## 📖 目录 * [概述](#-overview) * [功能](#-features) * [工作原理](#-how-it-works) * [项目结构](#-project-structure) * [前置条件](#-prerequisites) * [安装说明](#-installation) * [用法](#-usage) * [输出示例](#-example-output) # 📌 概述 **网络漏洞扫描器**是一个基于 Python 的命令行工具,专为教育性网络安全项目设计。它执行快速的多线程 TCP 端口扫描,从开放端口捕获服务 banner,并将这些 banner 与内置的漏洞数据库进行比较,以识别潜在存在漏洞的软件版本。 该项目演示了几个基本的网络安全概念,包括: * TCP socket 编程 * 多线程 * Banner 抓取 * 服务指纹识别 * 基础漏洞评估 * 基于 CVE 的软件检测 # ✨ 功能 * ⚡ 使用 `ThreadPoolExecutor` 进行多线程 TCP 端口扫描 * 🔍 检测开放的 TCP 端口 * 📡 对发现的服务执行 banner 抓取 * 🌐 在未收到 banner 时发送 HTTP `HEAD` 请求 * 🛡️ 将服务 banner 与内置 CVE 数据库进行匹配 * 📋 实时显示漏洞警告 * 📦 仅使用 Python 标准库(无外部依赖) # ⚙️ 工作原理 扫描器遵循四个简单步骤: ### 1. 目标解析 将提供的主机名或 IP 地址解析为 IPv4 地址。 ``` scanme.nmap.org │ ▼ 45.xx.xx.xx ``` ### 2. 端口扫描 线程池(最多 **100 个并发工作线程**)在选定的端口范围内执行 TCP connect 扫描。 ``` Target │ ├── Port 22 ├── Port 80 ├── Port 443 ├── Port 8080 └── ... ``` ### 3. Banner 抓取 对于每个开放端口: * 等待传入的服务 banner。 * 如果未收到 banner,则发送 HTTP `HEAD` 请求。 * 捕获响应。 示例: ``` HTTP/1.1 200 OK Server: Apache/2.4.49 ``` ### 4. 漏洞匹配 将捕获的 banner 与内置漏洞数据库进行比较。 示例: ``` Apache/2.4.49 ↓ Known Match CVE-2021-41773 ``` # 📁 项目结构 ``` Network-Vulnerability-Scanner/ │ ├── vulnerability_scanner.py └── README.md ``` # 📋 前置条件 * Python **3.6** 或更高版本 * 无需外部软件包 * 不需要 `pip install` 该项目仅使用 Python 的标准库。 # 🚀 安装说明 克隆代码库: ``` git clone https://github.com/yourusername/network-vulnerability-scanner.git ``` 进入项目目录: ``` cd network-vulnerability-scanner ``` 运行扫描器: ``` python vulnerability_scanner.py ``` # 💻 用法 ## 基础扫描 扫描默认的 TCP 端口 **1–1024**。 ``` python vulnerability_scanner.py scanme.nmap.org ``` ## 自定义端口范围 扫描前 100 个端口: ``` python vulnerability_scanner.py 192.168.1.1 -p 100 ``` ## 通用语法 ``` python vulnerability_scanner.py [-p max_port] ``` 示例: ``` python vulnerability_scanner.py example.com -p 5000 ```
标签:Banner抓取, Python, 加密, 实时处理, 密码管理, 插件系统, 数据统计, 无后门, 漏洞扫描器, 端口扫描, 逆向工具