Skip to content

kermitthedev/NetGuard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ NetGuard Security Suite

Professional Network Monitoring & Security Analysis Tool

✨ Features

Core Monitoring

  • 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

Key Capabilities

  • 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

🚀 Installation

Prerequisites

# 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

Setup

# 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.txt

🎮 Usage

Basic Run (Limited Features)

python3 main.py

Full Features (Requires Root)

sudo python3 main.py

Using Run Scripts

# Normal mode
./run.sh

# With sudo (recommended)
sudo ./run_sudo.sh

📋 Requirements

  • 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.

🔐 Permissions

Some features require elevated privileges:

  • DNS Logger - Requires root for packet capture
  • Network Topology - Better discovery with root
  • Full Connection Details - Requires root

📊 Features Overview

Network Monitor

  • View all active connections
  • Filter by protocol (TCP/UDP)
  • Auto-refresh every 3 seconds
  • Export connection data

Bandwidth Analyzer

  • Track data sent/received
  • Real-time graphs
  • Historical data tracking
  • MB/s rate calculation

DNS Logger

  • Capture DNS queries (root required)
  • Domain resolution tracking
  • Search and filter queries
  • Demo mode without root

Port Scanner

  • Scan any IP address
  • Custom port ranges
  • Service detection
  • Progress tracking

Network Topology

  • Discover devices on network
  • Show gateway and subnet
  • ASCII art network map
  • Device status tracking

🎨 Interface

NetGuard features a cyberpunk-themed dark interface with:

  • Neon green/cyan color scheme
  • Real-time updating displays
  • Organized tabbed interface
  • Professional data visualization

📝 Configuration

Configuration is stored in config/config.json:

  • Auto-refresh intervals
  • Export formats
  • Logging levels
  • Network timeouts

🗂️ Project Structure

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

🛡️ Legal & Ethical Use

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.

🤝 Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

📄 License

MIT License - See LICENSE file for details

🙏 Acknowledgments

  • Built with PyQt5
  • Network monitoring via psutil
  • Packet capture via scapy
  • Data visualization with matplotlib

📧 Contact

Your Name


⚡ NetGuard - Professional Network Security Monitoring

About

Professional Network Monitoring & Security Analysis Tool

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages