Harish6174/Port_scanner

GitHub: Harish6174/Port_scanner

一个轻量级的多线程 Python 端口扫描工具,支持服务横幅抓取和基础操作系统指纹识别,可用于授权的网络资产探测和安全审计。

Stars: 1 | Forks: 0

# 🔍 Python 端口扫描器 一个轻量级、多线程的端口扫描器,使用 Python 构建 — 灵感来自 Nmap。 作为网络安全学习作品集的一部分构建。 ## 功能 - ⚡ 多线程 TCP 连接扫描(默认 100 线程) - 🏷️ 服务和横幅检测 - 🖥️ 通过 ICMP TTL 进行操作系统指纹识别 - 📁 导出结果为 JSON 或 CSV ## 使用方法 ``` # 扫描常见端口 python port_scanner.py scanme.nmap.org # 扫描端口范围 python port_scanner.py 192.168.1.1 -p 1-1024 # 导出到 JSON python port_scanner.py scanme.nmap.org --export json ``` ## 选项 | 标志 | 描述 | 默认值 | |------|-------------|---------| | `-p` | 端口范围(`1-1024`、`80,443`、`common`) | `common` | | `-t` | 每个端口的超时时间(秒) | `1.0` | | `--threads` | 并行线程数 | `100` | | `--export` | 导出格式:`json` 或 `csv` | 无 | | `--output` | 输出文件名 | `scan_results.*` | ## 工作原理 1. **TCP 连接扫描** — 执行完整的三次握手来检查端口是否开放 2. **横幅抓取** — 读取服务的问候消息以识别版本 3. **操作系统指纹识别** — 分析 ICMP TTL 值来猜测操作系统 4. **多线程** — 使用 Python 的 `ThreadPoolExecutor` 并行扫描端口 ## ⚠️ 法律免责声明 仅扫描您拥有或已获得明确授权的系统。 未经授权的端口扫描在您所在的司法管辖区可能违法。 ## 技术栈 - Python 3.x - `socket` — TCP 连接和原始 ICMP - `concurrent.futures` — 多线程 - `argparse` — CLI 接口 - `json` / `csv` — 结果导出
标签:Banner抓取, DNS枚举, ICMP, Nmap, OS指纹识别, Python, Python3, Qt框架, Socket编程, TCP连接扫描, 主机安全, 并发编程, 数据泄露防护, 数据统计, 无后门, 服务识别, 端口扫描, 网络安全, 网络安全工具, 网络工具, 网络探测, 虚拟驱动器, 隐私保护