Mo200909/Port_Scanner-

GitHub: Mo200909/Port_Scanner-

一款轻量级多线程 Python 端口扫描工具,通过 TCP 连接探测快速识别目标主机的开放端口及对应服务。

Stars: 0 | Forks: 0

# Port_Scanner- # Port Scanner 一款多线程 Python 工具,用于扫描网络端口并识别开放的服务。 ## 功能 使用 10 个并发线程扫描目标主机的开放端口。显示哪些端口是开放的以及运行在上面的服务(SSH、HTTP、HTTPS、DNS 等)。 ## 使用方法 ``` python Port_Scanner.py Enter Target Host: 8.8.8.8 Enter Target Ports (e.g., 1-1000): 1-100 ``` **输出:** ``` Port 53 is open (DNS) ``` ## 特性 - **多线程** — 10 个并发线程提升速度 - **服务映射** — 识别常用端口(22=SSH, 80=HTTP, 443=HTTPS 等) - **主机名解析** — 支持域名或 IP - **清晰的输出** — 显示结果摘要 ## 工作原理 1. 从用户处获取目标主机和端口范围 2. 将主机名解析为 IP 地址 3. 使用线程安全的 queue 将端口分配给 10 个工作线程 4. 每个线程测试与端口的连接(1 秒超时) 5. 记录开放端口及其服务名称 6. 展示有条理的摘要 ## 技术细节 - **语言:** Python 3.6+ - **库:** socket, threading, queue(仅标准库) - **线程:** 10 个工作线程从 queue 中获取任务 - **连接:** 使用 `socket.connect_ex()` 进行非阻塞检查 - **性能:** 约 100 秒可扫描约 1000 个端口 ## 测试 可用于测试的安全公共服务器: - `8.8.8.8` (Google DNS) — 端口 53 应该是开放的 - `1.1.1.1` (Cloudflare) — 端口 53 应该是开放的 - `google.com` — 端口 80, 443 应该是开放的 ## 代码结构 ``` SERVICE_PORTS dict → Maps ports to service names scan_ports() → Worker thread function main() → User input and thread management ``` ## 法律声明 请仅扫描您拥有或已获得测试权限的系统。
标签:Python, Qt框架, 插件系统, 数据统计, 无后门, 服务识别, 端口扫描, 网络工具, 逆向工具