munkasirhaque0x1/Port-Scanner-Tool
GitHub: munkasirhaque0x1/Port-Scanner-Tool
一个使用 Python 开发的多线程端口扫描器,配有图形界面,用于检测网络主机的开放端口、服务和 MAC 地址。
Stars: 1 | Forks: 0
# 🔍 端口扫描器
一款快速多线程的 Python 端口扫描器,配有 tkinter 图形界面 — 可检测任意网络主机的开放端口、服务及 MAC 地址。
## 📸 预览
## ✨ 功能特性
- ✅ 多线程扫描(最多100个线程)— 结果快速
- ✅ 检测**开放端口**及其**服务名称**
- ✅ 获取目标主机的 **MAC 地址**
- ✅ 跨平台 **ping 检查**(Windows & Linux/Mac)
- ✅ 图形界面中 **实时更新进度**
- ✅ 可随时点击停止按钮 **中断扫描**
- ✅ 输出为整齐的 **排序表格**
- ✅ 简单直观的 **tkinter 图形界面**
## 🛠️ 技术栈
- **Python 3**
- `tkinter` — 图形界面
- `socket` — TCP 端口扫描
- `subprocess` — 执行 Ping 和 ARP 命令
- `threading` + `concurrent.futures` — 多线程扫描
- `platform` — 跨平台支持
## 🚀 快速开始
### 前置条件
- 系统中已安装 Python 3.x
- 无需额外库 — 仅使用 Python 标准库
### 安装
```
# 克隆 repository
git clone https://github.com/your-username/port-scanner.git
# 进入 project directory
cd port-scanner
```
### 运行
```
python port_scanner.py
```
## 🖥️ 使用方法
1. 输入 **目标 IP**(例如输入 `127.0.0.1` 扫描本机)
2. 设置 **起始端口** 和 **结束端口**(例如 `1` 到 `1024`)
3. 点击 **开始扫描**
4. 在输出区域查看结果
5. 随时点击 **停止** 可取消扫描
## 📊 示例输出
```
Pinging 127.0.0.1...
✔ Host 127.0.0.1 is UP.
MAC Address: 00-14-22-01-23-45
Scanning 127.0.0.1 | Ports 1–1024 | Total: 1024
──────────────────────────────────────────────────
Progress: 50/1024 ports (4%)
Progress: 100/1024 ports (9%)
...
──────────────────────────────────────────────────
PORT STATUS SERVICE
──────────────────────────────────────────────────
631 Open ipp
──────────────────────────────────────────────────
✔ 1 open port(s) found out of 1024 scanned.
```
## ⚠️ 免责声明
本工具仅用于 **教育目的** 以及 **授权的网络测试**。
未经授权扫描网络或系统是 **违法** 且 **不道德** 的行为。
作者对滥用本工具造成的任何后果概不负责。
## 📄 许可证
本项目采用 [MIT 许可证](LICENSE) 授权。
## 🙋♂️ 作者
**Md. Munkasir Haque**
网络安全爱好者 | Python 开发者
在 LinkedIn 上与我联系:[linkedin.com/in/munkasirhaque0x1](https://www.linkedin.com/in/munkasirhaque0x1/)
标签:DNS解析, GUI应用, MAC地址获取, ping命令, 交叉平台, 停止扫描, 图形用户界面, 多线程编程, 开源项目, 排序输出, 插件系统, 数据统计, 服务检测, 端口扫描, 网络安全, 网络工具, 网络扫描器, 隐私保护