This Network Root Cause Analysis Tool is a comprehensive suite designed for network administrators and IT professionals to efficiently monitor, analyse, and troubleshoot network issues. The application combines advanced network monitoring capabilities with machine learning-based anomaly detection to provide a complete network management solution.
Network administrators face numerous challenges in maintaining network health and security:
- Difficulty in identifying the root cause of network issues quickly
- Lack of real-time visibility into network traffic and device behaviour
- Challenges in detecting and responding to network anomalies
- Time-consuming manual network scanning and reporting processes
-
Unified Monitoring Interface
- Single dashboard for all network monitoring needs
- Real-time visibility into network performance
- Intuitive visualisation of network metrics
-
Automated Issue Detection
- Machine learning-based anomaly detection
- Instant SMS alerts for critical issues
- Proactive identification of potential problems
-
Enhanced Security
- Continuous network vulnerability scanning
- Device fingerprinting and tracking
- Unauthorized device detection
-
Time-Saving Features
- Automated report generation
- Quick troubleshooting workflows
- Batch scanning capabilities
The tool leverages several cutting-edge technologies:
- Machine Learning for anomaly detection
- Real-time packet analysis using advanced filtering
- Automated vulnerability assessment
- WiFi signal strength analysis and optimisation
- Integration with Twilio for instant notifications
- Central Dashboard: Unified control centre for accessing all modules
- Real-time Packet Analysis: Capture and analyse network packets with filtering capabilities
- Network Device Scanner: Discover devices on your network and scan for vulnerabilities
- WiFi Signal Analyzer: Monitor and analyze wireless networks and signal strength
- Anomaly Detection: Machine learning-based system to identify unusual network behavior
- SMS Alert System: Receive notifications when network anomalies are detected
- Reporting System: Generate comprehensive PDF reports of network status and issues
- Network Troubleshooting: Tools to diagnose and resolve common network problems
-
Network Analysis Engine
- Built with Python and Scapy for packet capture and analysis
- Real-time traffic monitoring and filtering
- Deep packet inspection capabilities
-
Machine Learning Module
- Anomaly detection using advanced ML algorithms
- Pattern recognition for network behavior analysis
- Continuous learning from network traffic patterns
-
Security Scanner
- Port scanning and vulnerability assessment
- Device fingerprinting and OS detection
- Network topology mapping
-
Alert System
- SMS notifications via Twilio integration
- Configurable alert thresholds
- Alert history tracking and analysis
-
Reporting Engine
- PDF report generation with detailed metrics
- Historical data analysis
- Customizable report templates
- Frontend: PyQt6 for the graphical user interface
- Backend: Python 3.9+ for core functionality
- Libraries:
- Scapy for packet manipulation
- Pandas for data analysis
- Matplotlib for data visualization
- NumPy for numerical computations
- Twilio for SMS notifications
- Windows 10/11 (64-bit)
- Python 3.9 or higher
- Administrator privileges (required for packet capture)
- Minimum 4GB RAM
- 1GB free disk space
git clone https://github.com/yourusername/network-root-cause-analysis.git
cd network-root-cause-analysis
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
The requirements.txt file includes all necessary libraries like PyQt6, matplotlib, numpy, scapy, pandas, and more.
If you want to use real SMS alerts (instead of simulated ones):
pip install twilio
- Open
sms_alert_settings.jsonin the root directory - Set
"enabled"totrueto enable SMS alerts - Update
"phone_number"with your phone number in international format (e.g., "+1234567890")
Example configuration:
{
"enabled": true,
"phone_number": "+1234567890",
"alert_history": []
}If you want to use real SMS alerts with Twilio:
- Sign up for a Twilio account at https://www.twilio.com
- Get your Account SID and Auth Token from the Twilio dashboard
- Create a file named
secret.pyin the SMS gateway directory with:
account_sid = "your_account_sid"
auth_token = "your_auth_token"
twilio_number = "your_twilio_phone_number"- Ensure you're in the project directory
- Run the main application with administrator privileges:
python Main.py
- Main Dashboard: Central hub for accessing all tools
- Network Monitoring: Real-time tracking of network performance metrics
- Network Troubleshooting: Tools for diagnosing common network issues
- Network Device Scanner: Discovers devices and checks for vulnerabilities
- WiFi Scanner: Analyzes wireless networks and signal strength
- Real-time Packet Filtering: Captures and analyzes network packets
- Report Generator: Creates PDF reports of network status and issues
The application stores temporary data in the data_temp directory, including:
- Packet analysis data
- WiFi scanning results
- Device scanning results
- Network monitoring data
- Troubleshooting history
- Permission Errors: Run the application as Administrator
- Missing Modules: Verify all dependencies are installed
- Packet Capture Issues: Install WinPcap or Npcap on Windows
- SMS Alerts Not Working: Check your SMS configuration
Check the console output for error messages and debugging information.
This project is licensed under the MIT License - see the LICENSE file for details.
The detailed project documentation is available in the following formats:
- Final Report - Comprehensive project documentation and analysis
- Network Reports - Sample network analysis reports generated by the tool
This project was developed as a university final year project, utilizing Python, PyQt6, and various open-source libraries.
