Skip to content

Satyam1717/NetworkTrafficMonitor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Network Traffic Monitor

A real-time network traffic monitoring application with intrusion detection capabilities. This tool provides visualization of network traffic, protocol distribution analysis, and machine learning-based threat detection.

Network Traffic Monitor Screenshot

Features

  • Real-time network traffic visualization
  • Protocol distribution analysis
  • Top bandwidth usage by application/IP
  • Traffic details table with filtering
  • Speed monitoring (download/upload)
  • Intrusion detection using machine learning
  • Alert notifications for suspicious traffic

Requirements

System Requirements

  • Windows 10/11 (64-bit) or Linux
  • 4GB RAM minimum (8GB recommended)
  • 500MB free disk space

Software Requirements

  • Python 3.8+ installed
  • Node.js 14+ and npm
  • Npcap installed (for Windows)
  • Administrator privileges

Python Packages

  • Flask
  • Scapy
  • NumPy
  • pandas
  • joblib
  • psutil

JavaScript Packages

  • Electron
  • Chart.js

Installation

1. Clone the repository

git clone https://github.com/tacticalYP/NetworkTrafficMonitor.git
cd NetworkTrafficMonitor

2. Install Npcap (Windows only)

Download and install Npcap from https://npcap.com/

3. Install Python dependencies

pip install flask scapy numpy pandas joblib psutil

or

pip install -r backend/requirements.txt

4. Install frontend dependencies

cd frontend
npm install

Running the Application

Option 1: Quick Start (Recommended)

  1. Simply double-click the run_network_monitor.bat file in the root directory.
  2. This will automatically:
    • Start the backend server with administrator privileges
    • Wait for the backend to initialize
    • Launch the frontend application

Option 2: Manual Startup

If you prefer to start components individually:

1. Start the backend server (with administrator privileges)

Open a command prompt as Administrator and run:

cd backend
python app2.py

2. Start the frontend application

In a new terminal window:

cd frontend
npm start

The application should automatically open in a new window.

Project Structure

NetworkTrafficMonitor/
├── backend/
│   ├── app.py              # Legacy Flask server
│   ├── app2.py             # Current Flask server with ML integration
│   ├── traffic_analyzer.py # Network traffic analysis
│   ├── pack_sniffer.py     # Packet capture and processing
│   ├── utils.py            # Utility functions
│   └── ml_model/           # Machine learning models for threat detection
├── frontend/
│   ├── index.html          # Main UI
│   ├── style.css           # Styling
│   ├── renderer.js         # Charts and UI logic
│   ├── main.js             # Electron main process
│   └── package.json        # Node.js dependencies
└── README.md

Troubleshooting

Backend Issues

  • Ensure you're running with administrator privileges.
  • Verify Npcap is installed correctly.
  • Check firewall settings if capturing packets fails.

Frontend Issues

  • If charts aren't displaying, check browser console for errors.
  • Try clearing browser cache if UI elements are missing.

License

This project is licensed under the MIT License.

Acknowledgements

  • Chart.js for visualization
  • Scapy for packet manipulation
  • Electron for desktop application framework

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 55.6%
  • JavaScript 28.0%
  • HTML 8.1%
  • CSS 7.5%
  • Batchfile 0.8%