Mridul2005-eng/nmap-Portscanner
GitHub: Mridul2005-eng/nmap-Portscanner
一个使用 Python 和 Tkinter 实现的轻量级图形化端口扫描器,解决快速发现开放端口与服务的本地化检查问题。
Stars: 0 | Forks: 0
# nmap-portscanner
一个使用 Python 和 Tkinter 构建的轻量级 TCP 端口扫描器,提供图形用户界面。
## 功能
- **预设界面** - 快速选择常用扫描范围或切换到自定义范围
- **池化并发** - 使用固定大小的工作池进行更稳定的扫描
- **服务识别** - 自动标记知名端口(FTP、SSH、HTTP、HTTPS、MySQL、RDP 等)
- **实时进度** - 进度条和已用时间计数器在扫描过程中实时更新
- **结构化结果视图** - 开放端口以表格形式展示,附带独立的活动日志
- **随时停止** - 可优雅地取消正在进行的扫描
- **灵活导出** - 将发现的开放端口保存为 `.csv`、`.json` 或 `.txt`
- **跨平台** - 兼容 Windows、macOS 和 Linux
## 要求
- Python 3.7 或更高版本
- Tkinter(包含在标准 Python 发行版中;在 Debian/Ubuntu 上安装 `python3-tk`)
无需第三方依赖包。
## 安装
```
git clone https://github.com/Mridul2005-eng/nmap-portscanner.git
cd nmap-portscanner
```
## 使用
```
python portscanergui.py
```
1. 输入 **目标** - IP 地址(例如 `192.168.1.1`)或主机名(例如 `scanme.nmap.org`)。
2. 选择预设,如 **Top 1K**、**Web Ports**、**Remote Access**、**Full Range**,或切换到 **Custom**。
3. 如果选择 **Custom**,手动设置 **起始端口** 和 **结束端口**。
4. 点击 **开始扫描**。开放端口会实时显示在结果表格和活动日志中。
5. 点击 **停止** 可提前取消扫描。
6. 扫描完成后,点击 **导出结果** 将开放端口列表保存到文件。
## 检测服务
以下端口会自动标注:
| 端口 | 服务 |
|------|--------|
| 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-portscanner/
|-- portscanergui.py # Main application
`-- README.md
```
## 许可证
本项目采用 MIT 许可证分发。详见 [LICENSE](LICENSE) 文件。
## 免责声明
仅对您拥有或明确获得扫描权限的主机和网络使用此工具。未经授权的端口扫描可能在您所在司法管辖区违法。
标签:DNS, GUI, HTTPS, IMAP, JSON导出, Linux工具, POP3, Python, Qt框架, RDP, SEO: 端口扫描工具, SEO: 网络检查工具, SMTP, SSH, TCP端口扫描, Telnet, Tkinter, TXT导出, 二进制发布, 云存储安全, 可停止扫描, 图形界面, 实时结果, 工作线程池, 并发扫描, 开源工具, 情报分析, 数据统计, 无后门, 服务识别, 活动日志, 灵活配置, 端口扫描, 端口探测, 结构化结果, 网络扫描, 网络检查, 网络诊断, 自定义端口范围, 逆向工具, 预设扫描范围