This project provides a REST API wrapper around CICFlowMeter using FastAPI and Docker.
The API accepts a PCAP file, processes it using CICFlowMeter inside a Docker container, and returns the generated CSV flow files as a ZIP archive.
This setup is designed to:
/pcap inside the container/flowOnly one request is processed at a time.
/
├── api/ # FastAPI application
├── code/ # CICFlowMeter source (cloned in Docker)
├── pcap/ # Uploaded PCAP files
├── flow/ # Generated CSV flow files
├── gradle-task # Custom Gradle task (runcmd)
├── Dockerfile
└── README.md
From the project root:
docker build -t cicflow-api .
docker run -it --rm -p 8000:8000 --name cicflow-api-container cicflow-api
Once running, the API will be available at:
http://localhost:8000
FastAPI automatically provides interactive documentation:
http://localhost:8000/docs
Use this page to:
POST /processDescription: Uploads a PCAP file, processes it, and returns flow CSV files as a ZIP.
Request:
multipart/form-data.pcap)Response:
application/zipAranya Dutta
This project is provided under the MIT License.
You are free to:
With attribution.
CICFlowMeter itself is licensed separately — please refer to its original repository for details.