# PingView **Repository Path**: aixinwudi/ping-view ## Basic Information - **Project Name**: PingView - **Description**: 一款用于检查网段内设备在线情况和IP占用情况的Python GUI工具,支持列表显示和图形化显示,具有多层验证机制确保扫描结果准确性。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-29 - **Last Updated**: 2026-01-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: 局域网ip扫描 ## README # 网络设备扫描工具 v1.0.0 一款用于检查网段内设备在线情况和IP占用情况的Python GUI工具,支持列表显示和图形化显示,具有多层验证机制确保扫描结果准确性。 ## 功能特点 - **网络扫描**:支持ICMP ping、ARP扫描和TCP端口扫描,实现多层验证机制确保扫描结果准确性 - **多元化显示**: - 列表视图:只显示在线设备,包含IP地址、状态、响应时间、MAC地址和主机名 - 图形视图:使用网格形式展示IP占用情况,在线设备显示绿色,离线设备显示红色 - **扫描参数配置**:可配置网段和扫描类型 - **实时进度显示**:扫描过程中显示进度条和百分比 - **统计信息**:显示总IP数、在线设备数、离线设备数和在线率 - **多线程扫描**:使用多线程提高扫描速度 ## 技术实现 - **网络扫描**:使用`ping3`库实现ICMP ping,`scapy`库实现ARP扫描,Python标准库`socket`实现TCP端口扫描 - **GUI界面**:使用`tkinter`库创建 - **图形化显示**:使用`matplotlib`库实现网格形式的IP占用情况显示 - **多线程**:使用Python标准库`threading`实现 - **多层验证**:实现Ping验证 + ARP验证 + TCP端口验证的多层验证机制 ## 环境依赖 - Python 3.7+ - ping3 - scapy - matplotlib ## 安装方法 1. 克隆项目到本地: ```bash git clone https://gitee.com/aixinwudi/ping-view.git ``` 2. 安装依赖库: ```bash pip install -r requirements.txt ``` 或 ```bash pip install ping3 scapy matplotlib ``` ## 使用方法 1. 运行程序: ```bash python main.py ``` 2. 在界面中: - 配置网段(默认:192.168.1.0/24) - 选择扫描类型(ICMP、ARP或ICMP+ARP) - 点击"开始扫描"按钮 - 查看扫描结果,可切换列表视图和图形视图 ## 注意事项 - 程序在Windows系统上运行时会显示"pcap won't be used"的警告,这是正常现象,不影响基本功能 - 扫描较大网段时可能需要一些时间,请耐心等待 - 为了获得最佳效果,建议以管理员权限运行程序 ## 项目结构 ``` pingtool/ ├── network_scanner.py # 网络扫描核心功能 ├── gui.py # GUI界面实现 ├── main.py # 程序主入口 ├── README.md # 项目说明文档 └── requirements.txt # 依赖库列表 ``` ## 截图 ### 程序运行截图 1 ![程序运行截图 1](ScreenShot_1.png) ### 程序运行截图 2 ![程序运行截图 2](ScreenShot_2.png)