gvbytes/local-port-scout

GitHub: gvbytes/local-port-scout

一个使用 Python 多线程实现的轻量级 TCP 端口扫描器,专用于本地或私有主机的端口开放检测与网络安全学习。

Stars: 7 | Forks: 0

# 本地 Port Scout ## 功能介绍 Local Port Scout 用于检查本地或私有主机上开放的 TCP 端口。它专为安全的实验室使用和本地网络学习而设计。 ## 工作原理 1. **IP 地址与端口**:一台计算机拥有一个 IP 地址(类似于街道地址),但拥有数千个端口(类似于公寓门牌号)。网站通常监听 80/443 端口,电子邮件使用 25 端口等。 2. **握手 (TCP)**:该脚本使用 Python 的标准 `socket` 库尝试与某个端口建立快速连接。这被称为 **TCP 三次握手 (TCP Three-Way Handshake)**。 3. **结果**: * 如果连接成功,脚本将输出该端口为 **开放 (OPEN)** 状态。 * 如果连接超时或被拒绝,则该端口为 **关闭 (CLOSED)** 状态。 4. **多线程**:为了避免逐个检查端口(耗时较长),脚本会生成多个“worker”(线程)来同时检查大量端口。 ## 实现细节 * `socket.socket(socket.AF_INET, socket.SOCK_STREAM)`:使用 IPv4 和 TCP 创建一个新的网络 socket。 * `s.connect_ex((host, port))`:尝试进行连接。与在失败时会导致脚本崩溃的 `connect()` 不同,`connect_ex` 会返回一个状态码。返回值为 `0` 表示成功(端口开放)。 * `threading.Thread(...)`:并发运行扫描逻辑,每秒可扫描数百个端口。 ## 运行方式 针对本地或私有主机运行扫描程序: ``` python port_scanner.py ``` *注意:出于安全考虑,本脚本被限制为仅能扫描本地主机(如 `localhost` 或 `127.0.0.1`),以防止意外扫描远程系统。*
标签:Python, TCP协议, 插件系统, 数据统计, 无后门, 端口扫描, 网络工具, 逆向工具