PCAPlotter is a comprehensive tool designed for analyzing and visualizing packet capture (PCAP) data. It offers both statistical analysis and interactive plotting capabilities to help users gain insights into network traffic patterns.
- Data Preprocessing: Convert raw PCAP data into a structured JSON format and compute essential features.
- Statistical Analysis: Utilize Jupyter Notebook for in-depth analysis of multiple application features.
- Interactive Visualization: Engage with dynamic plots through a ReactJS frontend and a Python backend.
Follow these steps to set up and use PCAPlotter:
git clone https://github.com/LeMB2A/PCAPlotter.git
cd PCAPlotterEnsure you have Python installed. Install the required Python packages using:
pip install -r requirements.txtBefore analysis, preprocess your dataset:
python preprocess.pyThis script processes raw PCAP files, converts them into a JSON format, and calculates essential features. However, consider increasing/decreasing the max_workers based on your CPU physical and logical cores availability, as the preprocessing can take few hours.
For convenience and time-saving, you can download the preprocessed dataset directly, then put it under the /pcap-analyser/src/ folder.
For a comprehensive statistical analysis:
-
Open
pcapplotter.ipynbusing Jupyter Notebook:jupyter notebook pcapplotter.ipynb
-
Execute the cells to analyze various features across applications.
For an interactive plotting experience:
-
Start the Backend Server:
uvicorn analyser:app --reload
-
Launch the Frontend Application:
-
Navigate to the
pcap-analyserdirectory:cd pcap-analyser -
Install frontend dependencies:
npm install
-
Start the ReactJS application:
npm start
-
The frontend will connect to the backend server, providing an interactive interface for data visualization. Please consider the loading time of data from the backend to the frontend, which may take few minutes.
Ensure the following are installed:
- Python: Version 3.x
- Node.js and npm: For the ReactJS frontend
All necessary Python packages are listed in requirements.txt. Install them using:
pip install -r requirements.txt