PacketX is a lightweight high-performance software for real-time capturing and analyzing network traffic. This project leverages linux, tcpdump, tshark, bash and c++ to inspect network packets and identify high-bandwidth applications utilizing **multithreaded C++, mutex-controlled data synchronization, managing local files, and automated build using Makefiles.
✅ Capture Network Traffic using tcpdump for raw packet collection.
✅ Analyze Bandwidth Usage with tshark and c++ to break down traffic.
✅ Identify High Data Usage Apps by inspecting UDP/TCP connections.
✅ Real Time Traffic Monitoring with bash and c++.
✅ Save Analyzed Captured State.
✅ Modern AWS S3-Iceberg Lakehouse With Redshift and DynamoDB.
The related Lakehouse source code and documentation can be found in this repo (PacketX-Lakehouse)
PacketX_Demo.mp4
- Install
tcpdumpandtsharkif not already.
sudo apt install tcpdump tshark- Compile
C++withMakefile, only standard libraries are used.
make clean
make
- Run the
tcpdump_capture.shbash script giving 2 arguments- Network interface name that you want to capture its traffic
- Time chunk of capture, this will affect the update speed in the c++ program too, if you want to see whats going on in real time, 5 or 10 seconds is a good choice
sudo ./tcpdump_capture.sh wlp8s0 10- Run the
C++program
./main user_nameThe processed captured traffic is saved in a csv file traffic_log.csv, the program will use this data as a starting point if the file exists.

