brksfrb/port-scanner

GitHub: brksfrb/port-scanner

一个基于 Python 的高性能多线程局域网端口扫描器,配备实时 Tkinter GUI 进度窗口,可在一分钟内完成 65,535 个 IP 的扫描。

Stars: 0 | Forks: 0

# 🔍 LAN 端口扫描器 一个快速、多线程的 LAN 端口扫描器,带有实时 Tkinter 进度窗口。 扫描一系列 `192.168.x.x` 地址的可配置端口,并实时报告开放端口——同时显示在终端和 GUI 日志窗口中。 ## 功能特性 - 多线程扫描(可配置线程数) - 实时 GUI 进度条和可滚动日志窗口 - 对已发现主机进行反向 DNS 主机名解析 - 通过 `colorama` 实现彩色终端输出 - 设计上线程安全 ## 环境要求 - Python 3.10+ - `colorama` 安装依赖: ``` pip install colorama ``` ## 使用方法 1. 编辑 `scanner.py` 顶部附近的配置块: ``` START_IP = "192.168.1.0" END_IP = "192.168.1.255" PORTS = (80, 443, 5000) NUM_SCANNERS = 200 # thread count — keep ≤ 500 to avoid OS limits TIMEOUT = 1.0 # seconds per connection attempt ``` 2. 运行: ``` python scanner.py ``` 进度窗口将自动打开。扫描完成后,窗口将保持打开状态,直到您将其关闭。 ## 项目结构 ``` . ├── scanner.py # Entry point — Scanner, ScanThread, IPPort ├── log.py # TkinterLogWindow — thread-safe GUI progress window └── README.md ``` ## 性能 为了获得最高效率,请设置 `NUM_SCANNERS = 4000`。在此线程数下,扫描器可以达到约 **~5,000 IPs/秒** 的速度,这意味着对 `192.168.0.0 – 192.168.255.255` 的完整扫描(65,535 个 IP,单端口)可以在 **一分钟内** 完成。 | 线程数 | 速度 | 完整子网扫描 | |-------------|--------------|------------------| | 200 | ~250 IPs/s | ~4 分钟 | | 1000 | ~1,200 IPs/s | ~55 秒 | | **4000** | **~5,000 IPs/s** | **< 20 秒** | ## 注意事项 - 当前的 IP 构建器仅支持 `192.168.x.x` 子网。调整 `Scanner._build_target_list()` 以支持任意 CIDR 范围。 ## 许可证 MIT
标签:DNS枚举, DNS查询工具, Python, Reverse DNS, Tkinter GUI, URL短链接分析, 密码管理, 局域网扫描, 开源扫描器, 插件系统, 无后门, 服务探测, 端口扫描器, 网络安全工具, 自动化运维, 逆向工具, 防御绕过