ahmetmguney/python-port-scanner

GitHub: ahmetmguney/python-port-scanner

PyPortScanner 是一个纯 Python 实现的多线程命令行 TCP 端口扫描器,通过高并发连接测试快速发现目标主机的开放端口。

Stars: 0 | Forks: 0

# PyPortScanner:多线程 CLI 端口扫描器 ## 概述 PyPortScanner 是一个完全使用 Python 构建的轻量级、快速且多线程的命令行网络端口扫描器。它利用标准的 `socket` 库执行 TCP connect 扫描,并借助 `concurrent.futures` 执行高并发扫描,从而大幅缩短扫描时间。 开发此工具旨在展示对 TCP/IP 网络编程、并发编程以及命令行界面(CLI)工具开发的实际理解。 ## 项目演进 本仓库包含该扫描器的三个版本,展示了其开发与优化的过程: * **`port_scanner.py`:** 基础的顺序执行 TCP connect 扫描器。 * **`port_scanner_v2.py`:** 引入多线程以加快执行速度的中间版本。 * **`port_scanner_v3.py`:** 最终的生产版本,具有使用 `argparse` 的完全可控 CLI。 ## 功能 (v3) * **多线程扫描:** 使用可自定义的线程池快速扫描大段端口范围。 * **命令行界面(CLI):** 完全可通过终端参数进行控制。 * **超时优化:** 配置了连接超时参数,以防止在被过滤的端口上发生挂起。 * **简洁输出:** 仅报告成功建立的连接(开放端口)。 ## 要求 * Python 3.x * 无需任何外部依赖或第三方库。 ## 用法 在终端中运行此工具。使用 `-h` 或 `--help` 参数查看可用选项。 ``` # 查看帮助菜单 python port_scanner_v3.py -h # 针对特定 IP 的基本扫描(默认端口 1-1024,100 个线程) python port_scanner_v3.py -t 127.0.0.1 # 激进的扫描(例如,使用 200 个线程扫描端口 1 到 5000) python port_scanner_v3.py -t 192.168.1.50 -s 1 -e 5000 -w 200 [*] Scanning target: 127.0.0.1 [*] Port Range: 1 - 1024 [*] Active Threads: 100 -------------------------------------------------- [+] Port 135 OPEN [+] Port 445 OPEN -------------------------------------------------- [*] Scan completed. This tool is written for educational purposes and authorized network analysis only. Ensure you have explicit permission before scanning any network or device you do not own. ```
标签:Python, 云存储安全, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 网络扫描, 逆向工具, 隐私保护