PacketProfiler is a web-based tool for network traffic analysis and classification using machine learning techniques. This application allows users to upload PCAP (network capture) files and provides detailed insights into network flows.
- PCAP file upload and analysis
- Automatic feature extraction from network traffic
- Traffic classification using machine learning models:
- Decision Tree
- K-Nearest Neighbors (KNN)
- Random Forest
- Visualization of results with classification reports and confusion matrices
- User-friendly web interface
- Backend: Python, Flask
- Frontend: HTML, CSS
- Machine Learning: Scikit-learn (pre-trained models)
- Network Analysis: pyshark
-
Clone the repository
-
Set up a virtual environment (optional but recommended)
-
Install the required dependencies
-
Start the Flask application:
-
Open a web browser and navigate to
http://localhost:5000
-
Upload a PCAP file using the web interface
-
View the analysis results, including flow classifications and visualizations
app.py
: Main Flask application filefeature_extraction.py
: Contains functions for extracting features from PCAP filestemplates/
: HTML templates for the web interfacestatic/
: Static files (CSS, images)uploads/
: Temporary directory for uploaded PCAP files
Contributions to PacketProfiler are welcome! Please feel free to submit a Pull Request.
- Sathwik Madhusudan - sathwikmadhusudan@gmail.com
- Ramakanth R Gunishetty - ramakanthrg2003@gmail.com
Project Link: https://github.com/Sathwik-Madhusudan/PacketProfiler