sahilwadeaitech-art/network-scanner-tool
GitHub: sahilwadeaitech-art/network-scanner-tool
一款基于Python和CustomTkinter的桌面网络扫描与诊断工具,集成了局域网设备发现、端口扫描及Ping、DNS、Traceroute等常见诊断功能。
Stars: 0 | Forks: 0
# 网络扫描工具
一款桌面网络扫描与诊断工具。可扫描本地网络以发现活动设备、检查开放的端口,并运行基础诊断(ping、DNS、traceroute)——所有操作均在一个界面中完成。
基于 Python 和 CustomTkinter 构建。采用暗色主题 UI。
## 主要功能
- **网络发现** — 查找子网中的活动设备(IP、hostname、MAC、响应时间)
- **端口扫描** — TCP connect 扫描,支持服务检测与 banner grabbing
- **Ping** — 解析 ping 输出并显示最小值/平均值/最大值统计信息
- **DNS lookup** — 正向与反向解析
- **Traceroute** — 逐跳路径及延迟
- **报告导出** — 将扫描结果保存为结构化的 .txt 文件
## 截图
*即将推出 — 需要在 Windows 上截取一些清晰的截图*
## 环境配置
```
git clone https://github.com/sahilwadeaitech-art/network-scanner-tool.git
cd network-scanner-tool
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txt
python main.py
```
需要 Python 3.9+。部分功能(如 ARP MAC 检测)需要管理员/root 权限。
## 使用说明
侧边栏包含四个面板:
1. **Dashboard** — 概览,包含快捷操作和活动日志
2. **Network Scan** — 自动检测您的子网,扫描主机
3. **Port Scanner** — 输入 IP,选择快速/完整/自定义范围
4. **Diagnostics** — 在标签页中使用 ping、nslookup、traceroute
扫描结果将实时显示。您可以从侧边栏导出报告。
## 技术栈
- Python 3.9+
- CustomTkinter (UI)
- socket / subprocess (扫描)
- psutil (网络接口检测)
- threading + concurrent.futures (并行扫描)
- scapy (可选,用于后续的高级数据包处理)
## 项目结构
```
src/
├── ui/ # all the panels and widgets
├── scanner/ # network discovery + port scanner
├── diagnostics/ # ping, dns, traceroute wrappers
├── analytics/ # stats calculations for dashboard
├── services/ # scan orchestration, report generation
└── utils/ # constants, network helpers
```
## 构建 exe
```
pip install pyinstaller
pyinstaller --onefile --windowed --name "NetworkScanner" main.py
```
## 待办 / 路线图
- [ ] 拓扑可视化(networkx 图表)
- [ ] 更好的服务指纹识别
- [ ] 定时/重复扫描
- [ ] PDF 报告
- [ ] 在会话之间保存扫描历史记录
- [ ] 针对可网管交换机的 SNMP 查询
## License
MIT
标签:CustomTkinter, DInvoke, Python, 云存储安全, 情报分析, 数据统计, 无后门, 服务器安全, 桌面应用, 端口扫描, 网络扫描, 网络诊断, 逆向工具