Professional Network Monitoring & Security Analysis Tool
- ⚡ Network Monitor - Real-time connection tracking
- 📊 Bandwidth Analyzer - Traffic analysis with graphs
- 🌐 DNS Logger - Live DNS query capture
- 🔍 Port Scanner - Comprehensive port scanning
- 🗺️ Network Topology - Device discovery and mapping
- Real-time network connection monitoring
- Bandwidth usage tracking and visualization
- DNS query logging (requires root)
- Port scanning with service detection
- Network topology mapping
- Multi-format exports (TXT, CSV, JSON)
- Dark theme cyberpunk UI
# Ubuntu/Debian
sudo apt update
sudo apt install python3 python3-venv python3-pip
sudo apt install python3-pyqt5 python3-psutil python3-matplotlib python3-numpy
sudo apt install python3-scapy # For DNS capture# Clone repository
git clone https://github.com/YOUR_USERNAME/NetGuard.git
cd NetGuard
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txtpython3 main.pysudo python3 main.py# Normal mode
./run.sh
# With sudo (recommended)
sudo ./run_sudo.sh- Python 3.8+
- PyQt5 - GUI framework
- psutil - System and network monitoring
- scapy - Packet capture (optional, for DNS)
- matplotlib - Graphs (optional)
- numpy - Data processing (optional)
See requirements.txt for complete list.
Some features require elevated privileges:
- DNS Logger - Requires root for packet capture
- Network Topology - Better discovery with root
- Full Connection Details - Requires root
- View all active connections
- Filter by protocol (TCP/UDP)
- Auto-refresh every 3 seconds
- Export connection data
- Track data sent/received
- Real-time graphs
- Historical data tracking
- MB/s rate calculation
- Capture DNS queries (root required)
- Domain resolution tracking
- Search and filter queries
- Demo mode without root
- Scan any IP address
- Custom port ranges
- Service detection
- Progress tracking
- Discover devices on network
- Show gateway and subnet
- ASCII art network map
- Device status tracking
NetGuard features a cyberpunk-themed dark interface with:
- Neon green/cyan color scheme
- Real-time updating displays
- Organized tabbed interface
- Professional data visualization
Configuration is stored in config/config.json:
- Auto-refresh intervals
- Export formats
- Logging levels
- Network timeouts
NetGuard/
├── main.py # Entry point
├── requirements.txt # Python dependencies
├── run.sh # Run script (normal)
├── run_sudo.sh # Run script (with sudo)
├── config/ # Configuration
│ └── settings.py
├── ui/ # User interface
│ ├── main_window.py
│ ├── network_monitor.py
│ ├── bandwidth_analyzer.py
│ ├── dns_logger.py
│ ├── port_scanner.py
│ ├── topology_viewer.py
│ └── styles.py
├── modules/ # Backend modules
│ ├── network_connections.py
│ ├── bandwidth_monitor.py
│ ├── dns_monitor.py
│ ├── port_scanner_module.py
│ └── topology_mapper.py
├── data/ # Runtime data
├── exports/ # Exported reports
└── logs/ # Application logs
NetGuard is a legitimate network monitoring tool for YOUR OWN systems.
✅ Legal Uses:
- Monitor your own devices
- Analyze your home/office network (with permission)
- Educational purposes
- Network troubleshooting
- Security auditing your own systems
❌ Prohibited:
- Scanning networks you don't own
- Monitoring others' traffic without consent
- Unauthorized access to systems
- Any malicious or illegal activities
You are responsible for complying with all applicable laws.
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
MIT License - See LICENSE file for details
- Built with PyQt5
- Network monitoring via psutil
- Packet capture via scapy
- Data visualization with matplotlib
Your Name
- GitHub: @kermitthedev
- Email: itskermitthedev@gmail.com
⚡ NetGuard - Professional Network Security Monitoring