A powerful Python-based CLI tool to monitor and visualize your local network in real-time
Monitor device uptime β’ Track network latency β’ Generate beautiful topology maps
Features β’ Installation β’ Usage β’ Screenshots β’ Contributing
CableNetMonitor is an intuitive network monitoring solution that provides comprehensive insights into your local area network. It continuously pings devices within your specified IP range, logs their connectivity status, and generates beautiful visual topology maps labeled with device hostnames.
- Real-time Monitoring: Track device availability and network performance
- Visual Network Maps: Generate topology diagrams with hostname labels
- Comprehensive Logging: Export data to CSV for analysis
- MAC & Vendor Discovery: Identify device manufacturers and physical addresses
- QR Code Integration: Generate shareable QR codes for network information
- Gateway Auto-Detection: Automatically monitor your network gateway
- Flexible Scheduling: One-time scans or continuous monitoring
- Cross-platform: Works on Windows, Linux, and macOS
| Feature | Description |
|---|---|
| π― Smart IP Scanning | Ping devices in custom IP ranges with configurable intervals |
| π Detailed Logging | Track IP, latency, hostname, MAC address, and timestamps |
| π Automated Scheduling | Set up recurring scans every X minutes or run one-time scans |
| πΊοΈ Network Visualization | Generate beautiful topology graphs with device relationships |
| π·οΈ Hostname Labels | Automatically resolve and display device hostnames |
| π MAC Address Discovery | Retrieve and log physical addresses of network devices |
| π’ Vendor Identification | Automatically identify device manufacturers from MAC addresses |
| π± QR Code Generation | Generate QR codes for IP addresses and hostnames for easy sharing |
| π Gateway Auto-Detection | Automatically includes and monitors your default gateway |
| π¨ Colored Terminal | Intuitive color-coded output (π’ UP / π΄ DOWN) |
| π± User-friendly CLI | Emoji-based interface designed for beginners |
- Python 3.7 or higher
- pip package manager
-
Clone the repository
git clone https://github.com/vishnuvrj7/CableNetMonitor.git cd CableNetMonitor -
Install dependencies
pip install -r requirements.txt
ping3>=4.0.0
networkx>=2.8
matplotlib>=3.5.0
colorama>=0.4.4
qrcode>=7.3.0
pillow>=9.0.0
requests>=2.28.0-
Run the application
python main.py
-
Configure your scan
- Start IP: Enter the beginning of your IP range (e.g.,
192.168.1.1) - End IP: Enter the end of your IP range (e.g.,
192.168.1.50) - Scan Interval:
- Enter
0for a one-time scan - Enter any number
> 0for continuous monitoring (in minutes)
- Enter
- Start IP: Enter the beginning of your IP range (e.g.,
π CableNetMonitor - Network Scanner
ββββββββββββββββββββββββββββββββββββββββββ
π Start IP: 192.168.1.1
π End IP: 192.168.1.50
β±οΈ Scan Interval: 5
π Starting network scan...
CableNetMonitor/
βββ π main.py # CLI entry point and user interface
βββ π pinger.py # Core ping functionality
βββ π scanner.py # IP range generation and scanning logic
βββ π logger.py # CSV logging and data persistence
βββ π¨ visualizer.py # Network topology visualization
βββ π± qr_generator.py # QR code generation for devices
βββ π’ vendor_lookup.py # MAC address vendor identification
βββ π ping_log.csv # Generated log file
βββ πΌοΈ topology.png # Generated network diagram
βββ π± qr_codes/ # Directory for generated QR codes
βββ π requirements.txt # Python dependencies
βββ π README.md # Project documentation
The tool generates a comprehensive CSV log with the following columns:
| Column | Description | Example |
|---|---|---|
Timestamp |
When the ping was performed | 2025-07-24 01:03:20 |
IP |
Target IP address | 192.168.1.8 |
Status |
Device availability | UP / DOWN |
Latency |
Response time in ms | 1.28 |
Hostname |
Resolved device name | desktop-hp |
MAC Address |
Physical address | d8:50:e6:12:3a:9c |
Vendor |
Device manufacturer | Hewlett Packard Enterprise |
- Visual representation of your network structure
- Devices connected to gateway/router
- Hostname labels for easy identification
- Color-coded status indicators
- Automatic gateway detection and inclusion
- Generated QR codes for each discovered device
- Contains IP address and hostname information
- Easy sharing and mobile device access
- Organized in dedicated folder structure
Example network topology showing connected devices with hostnames
π Gateway: 192.168.1.1 (router.local) - Vendor: Cisco Systems
π’ 192.168.1.1 UP 2.1ms router.local 00:14:22:01:23:45 Cisco Systems
π’ 192.168.1.8 UP 1.3ms desktop-hp d8:50:e6:12:3a:9c Hewlett Packard Enterprise
π΄ 192.168.1.15 DOWN --- unknown --- Unknown
π’ 192.168.1.22 UP 0.8ms laptop-work ac:de:48:00:11:22 Apple, Inc.
π± QR codes generated in ./qr_codes/ directory
πΊοΈ Network topology saved as topology.png
This project is licensed under the MIT License - see the LICENSE file for details.
