DineshGujjeti/Network-Port-Scanner
GitHub: DineshGujjeti/Network-Port-Scanner
基于 Python 和 Tkinter 的多线程 TCP 端口扫描器,用于教学和基础网络侦察中快速发现目标主机开放端口及常见服务。
Stars: 0 | Forks: 0
# 网络端口扫描器 (基于 GUI) 🛡️



一款具有简洁图形用户界面的高性能、多线程 TCP 端口扫描器。该工具可帮助安全爱好者和系统管理员高效识别目标主机上的开放端口和活动服务。
## 📌 项目概述
本项目是在 **AICTE VOIS Edunet 网络安全实习** 期间开发的。它作为网络安全扫描的实际应用,重点关注:
- **Socket 编程:** 使用 `socket` 模块进行 TCP 握手。
- **并发:** 管理多达 500 个并发线程以实现快速扫描。
- **UI/UX:** 通过 Tkinter 提供实时进度跟踪和结果管理系统。
## ✨ 主要特性
* **快速扫描:** 多线程架构显著减少了扫描时间。
* **服务检测:** 自动映射常见端口(SSH、HTTP、MySQL 等)。
* **实时反馈:** 包括进度条、已用计时器和实时结果日志记录。
* **安全执行:** 能够随时停止/中止正在运行的扫描。
* **报告生成:** 将发现结果直接保存到 `.txt` 文件中以便归档。
## 🚀 入门指南
### 前置条件
- Python 3.7 或更高版本
- Tkinter(大多数 Python 安装中自带)
### 安装说明
1. **克隆仓库:**
git clone [https://github.com/DineshGujjeti/Network-Port-Scanner.git](https://github.com/DineshGujjeti/Network-Port-Scanner.git)
cd nmap_portscan_gui
2. **运行应用程序:**
```
python portscanergui.py
```
3. **执行扫描:**
- 输入目标 IP(例如:127.0.0.1 或 scanme.nmap.org)。
- 定义端口范围(例如:1 到 1024)。
- 点击 Start Scan。
- 扫描:点击 Start Scan 开始。结果将实时显示在“开放端口”窗口中。
- 保存:扫描完成后,点击 Save Results 将发现的结果导出到文本文件。
## 📊 检测到的常见服务
扫描器已预配置,可识别并标记以下标准网络服务:
| 端口 | 服务 | 端口 | 服务 |
| :--- | :--- | :--- | :--- |
| **21** | FTP (文件传输) | **143** | IMAP (电子邮件) |
| **22** | SSH (安全外壳) | **443** | HTTPS (安全网页) |
| **23** | Telnet | **3306** | MySQL (数据库) |
| **25** | SMTP (电子邮件) | **3389** | RDP (远程桌面) |
| **53** | DNS (域名) | **5900** | VNC (远程访问) |
| **80** | HTTP (网页) | **8080** | HTTP-Alt (代理) |
| **110** | POP3 (电子邮件) | **其他** | 报告为 "Unknown" |
标签:AICTE, MIT License, Python, Socket编程, TCP端口扫描, Tkinter GUI, VOIS Edunet, 占用监测, 图形用户界面, 实习生项目, 并发扫描, 开源, 插件系统, 无后门, 服务检测, 漏洞扫描准备, 网络安全, 网络安全实训, 资产管理, 逆向工具, 隐私保护