Skip to content

shr8769/Network-Packet-Sniffer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Network Packet Sniffer

A real-time network packet sniffer and analyzer with a web-based dashboard. Capture, visualize, and analyze network traffic with ease. Designed for local use with optional remote access via ngrok.


✨ Features

  • Real-Time Packet Capture: Start and stop live packet capturing with a simple interface.
  • Protocol Analysis: Automatically detects and categorizes traffic by protocol (HTTP, HTTPS, TCP, UDP, ICMP).
  • Interactive Dashboard: Visualize total packets, average size, protocol distribution, and energy consumption in real time.
  • Data Visualization:
    • Protocol Distribution: Donut chart showing the breakdown of protocols.
    • Packet Size Distribution: Bar chart displaying packet sizes.
    • Energy Consumption: Line chart tracking estimated energy usage over time.
  • Anomaly Detection: Highlights unusual or suspicious traffic patterns.
  • Remote Access: Share your dashboard securely over the internet using ngrok.

🖼️ Screenshots

image

image

image

image

image


🛠️ Technology Stack Backend: Python (with Flask or similar framework for API endpoints)

Frontend:

->HTML, CSS, and JavaScript for the web interface

->Bootstrap for responsive layout and styling

->jQuery for DOM manipulation and AJAX requests

->Chart.js for data visualization (protocol, packet size, and energy charts)

->Optional Remote Access: ngrok for exposing your local server to the internet

Note: This project currently uses a traditional web stack (HTML/CSS/JS) for the dashboard. React is not used, but you can migrate or add a React frontend in the future if you prefer a modern SPA (Single Page Application) approach

🚀 Getting Started

Prerequisites

  • Python 3.8+
  • pip (Python package manager)
  • Git (version control)
  • ngrok (for remote access, optional)

Installation

  1. Clone the repository:

    git clone https://github.com/shr8769/Network-Packet-Sniffer.git
    cd Network-Packet-Sniffer
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the application:

    python app/main.py

    (Replace with your actual start command if different.)

  4. Access the dashboard:

    • Open your browser and go to:
      http://localhost:5000
      
    • Use the dashboard to start packet capture and view analytics.

🌍 Remote Access with ngrok

Want to share your dashboard? Use ngrok to expose your local server securely:

  1. Start your application as above.
  2. Open a new terminal and run:
    ngrok http 5000
  3. Copy the public URL provided by ngrok and share it with others.

📝 Guide for Contributors

  1. Fork the repository.
  2. Clone your fork and create a new branch:
    git checkout -b feature/your-feature
  3. Make your changes and commit them:
    git add .
    git commit -m "Your commit message"
  4. Push your branch to GitHub:
    git push origin feature/your-feature
  5. Open a pull request from your branch to the main repository.

📄 License

This project is licensed under the MIT License.


About

A web-based network packet sniffer and analyzer that lets you capture, visualize, and analyze network traffic in real time.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors