Mr-VantaRoot/port_scanner

GitHub: Mr-VantaRoot/port_scanner

这是一个轻量级的Python端口扫描工具,用于快速发现网络中的开放端口并识别服务。

Stars: 0 | Forks: 0

# 🔍 Python 端口扫描器 一个用 Python 构建的快速、多线程 TCP 端口扫描器。支持单主机扫描、自定义端口范围以及完整的子网发现——全部通过命令行完成,无需任何外部依赖。 ## 功能 - **子网扫描** — 扫描 `/24` 网络上的所有 254 台主机 - **自动 IP 检测** — 自动检测您当前的网络 - **多线程** — 并发扫描端口以提高速度 - **服务检测** — 将开放端口映射到已知服务(SSH、HTTP、FTP 等) - **命令行界面** — 通过参数在终端中易于使用 - **无外部库** — 仅使用 Python 标准库 ## 环境要求 - Python 3.6+ - 无需安装 pip 包 ## 用法 ### 自动扫描当前网络 ``` python port_scanner.py ``` ### 扫描特定子网 ``` python port_scanner.py /24 ``` ### 扫描单个主机 ``` python port_scanner.py ``` ### 自定义端口范围 ``` python port_scanner.py /24 -p 1-500 ``` ## 示例输出 ``` [*] Auto-detected local IP: 192.168.6.105 [*] Discovering live hosts on 192.168.6.0/24 ... [*] Found 3 live host(s): 192.168.6.1, 192.168.6.5, 192.168.6.20 [*] Scanning 192.168.6.1 [*] Port range: 1 - 1024 [*] Started : 2026-05-16 10:32:00 [*] Finished : 2026-05-16 10:32:14 Target : 192.168.6.1 Open : 3 port(s) found ---------------------------------------- PORT STATE SERVICE -------- -------- --------------- 22 OPEN SSH 80 OPEN HTTP 443 OPEN HTTPS ---------------------------------------- ``` ## 工作原理 1. **主机发现** — 探测子网上的常用端口(22, 80, 139, 443, 445)以发现活动设备 2. **端口扫描** — 使用 `socket.connect_ex()` 尝试对范围内的每个端口建立 TCP 连接 3. **多线程** — 每个端口生成一个线程进行并发扫描,并通过最大线程数限制进行控制 4. **服务映射** — 将开放端口与已知服务的字典进行匹配 ## 支持的服务 | 端口 | 服务 | 端口 | 服务 | |------|----------|------|--------------| | 21 | FTP | 443 | HTTPS | | 22 | SSH | 445 | SMB | | 23 | Telnet | 3306 | MySQL | | 25 | SMTP | 3389 | RDP | | 53 | DNS | 5432 | PostgreSQL | | 80 | HTTP | 8080 | HTTP-Alt | | 110 | POP3 | 27017| MongoDB | ## 免责声明 本工具旨在用于**教育目的**以及扫描**您拥有或已获明确许可进行测试的网络**。未经授权的端口扫描在您所在的司法管辖区可能属于非法行为。 ## 许可证 MIT 许可证 — 可自由使用和修改。
标签:AES-256, TCP扫描, 子网扫描, 密码管理, 插件系统, 数字取证, 数据统计, 服务检测, 漏洞评估, 端口扫描, 网络安全, 自动化脚本, 逆向工具, 隐私保护