convo7679/Network-Port-Scanner
GitHub: convo7679/Network-Port-Scanner
一款基于Python和Tkinter的多线程TCP端口扫描工具,支持服务识别和结果导出。
Stars: 0 | Forks: 0
# 网络端口扫描器 GUI
一个基于 Python 和 Tkinter 构建的轻量级 TCP 端口扫描器,提供图形用户界面。
## 功能特点
- **简洁的三字段界面** – 输入目标主机、起始端口和结束端口
- **多线程扫描** – 最多支持 500 个并发线程,快速获取结果
- **服务识别** – 自动标注常见端口(FTP、SSH、HTTP、HTTPS、MySQL、RDP 等)
- **实时进度显示** – 扫描过程中进度条和耗时计数器实时更新
- **随时停止** – 可优雅地取消正在进行的扫描
- **保存结果** – 将发现的开放端口导出为 `.txt` 文件
- **跨平台** – 支持 Windows、macOS 和 Linux 系统
## 环境要求
- Python 3.7 或更高版本
- Tkinter(包含在标准 Python 发行版中;在 Debian/Ubuntu 上需安装 `python3-tk`)
无需安装任何第三方包。
## 安装
```
git clone https://github.com/techtrainer20/nmap_portscan_gui.git
cd nmap_portscan_gui
```
## 使用方法
```
python portscanergui.py
```
1. 输入 **目标** – IP 地址(如 `192.168.1.1`)或主机名(如 `scanme.nmap.org`)。
2. 设置 **起始端口** 和 **结束端口**(默认值:`1` – `1024`)。
3. 点击 **开始扫描**。开放端口会在结果窗格中实时显示。
4. 点击 **停止** 可提前取消扫描。
5. 扫描完成后,点击 **保存结果** 将开放端口列表写入文本文件。
## 检测到的服务
以下端口会自动标注:
| 端口 | 服务 |
|------|---------|
| 21 | FTP |
| 22 | SSH |
| 23 | Telnet |
| 25 | SMTP |
| 53 | DNS |
| 80 | HTTP |
| 110 | POP3 |
| 143 | IMAP |
| 443 | HTTPS |
| 3306 | MySQL |
| 3389 | RDP |
| 5900 | VNC |
| 8080 | HTTP-Alt|
列表之外的端口将显示为 `Unknown`。
## 项目结构
```
nmap_portscan_gui/
├── portscanergui.py # Main application (scanner + GUI)
└── README.md
```
## 免责声明
仅可对您拥有或已获得明确扫描许可的主机和网络使用此工具。未经授权的端口扫描在您所在地区可能属于违法行为。
## 许可证
本项目基于 [MIT 许可证](https://opensource.org/licenses/MIT) 发布。
标签:Awesome, FTP检测, HTTP 参数枚举, HTTP检测, MySQL检测, Python网络编程, Qt框架, RDP检测, Socket编程, SSH检测, TCP扫描, Tkinter GUI, VNC检测, 代码生成, 信号量, 并发控制, 情报分析, 插件系统, 数据统计, 服务识别, 渗透测试工具, 端口扫描, 系统管理, 网络安全, 网络工具, 网络诊断, 进度监控, 逆向工具, 隐私保护