This repository contains an automated testing environment using Docker to capture and analyze network traffic via a SOCKS5 proxy (Masque).
Follow these three steps to deploy the container and start capturing traffic.
CRITICAL: Before running the container, you must increase the UDP buffer sizes for QUIC to work properly.
sudo sysctl -w net.core.rmem_max=7500000
sudo sysctl -w net.core.wmem_max=7500000
Run the following command to start the container in the background (detached mode). This command also mounts your current working directory on the host machine to /workspace/output_data inside the container, ensuring your captured files are safely saved to your host.
sudo docker run --init --rm -d --name masque_testbed1 -v "$(pwd):/workspace/output_data" tungns1207/masque_keyword:3
Open an interactive bash shell inside the running container to execute the script:
sudo docker exec -it masque_testbed1 /bin/bash
Once inside the container (root@...:/workspace#), execute the Python script. Ensure you have your input list of URLs (e.g., cleaned_websites.txt) ready in the workspace.
python3 traffic_capture.py --trace_file_dir output_data/ --target_websites url.txt --websites_count 10 --gap_count 0 --access_count 500
You can customize the script's behavior using the following command-line arguments:
| Argument | Default Value | Description |
|---|---|---|
--trace_file_dir | ./traces/ | Output Directory: The directory where the pcap and csv folders will be generated. Set this to your mounted volume (e.g., output_data/) to save files to your host machine. |
--target_websites | ./target_websites.txt | Input File: The path to the .txt file containing the list of target URLs (one URL per line). |
--websites_count | 10 | Execution Limit: The maximum number of websites to process from the input list during this run. |
--gap_count | 0 | Offset/Skip: The number of websites (rows) to skip from the beginning of the input file. Useful for splitting tasks across multiple containers (e.g., skipping the first 1000 URLs). |
--access_count | 2 | Iterations: The number of times the script will visit each website to collect multiple traffic samples. |
Once the script finishes, check your mounted folder on the host machine. You will see the following structure:
output_data/
āāā www_google_com/
ā āāā 1_www_google_com.pcap
ā āāā 2_www_google_com.pcap
āāā ...
āāā www_google_com/
āāā 1_www_google_com.csv
āāā 2_www_google_com.csv
āāā ...
This command to unlock permisson the folder contain pcap and csv:
sudo chown -R $USER:$USER my_docker_data
Content type
Image
Digest
sha256:fec25d11fā¦
Size
638.7 MB
Last updated
4 months ago
docker pull tungns1207/masque_keyword:3