feat: Python traffic generator with realistic varied HTTP/HTTPS traffic
- Replace curlimages/curl with Python stdlib traffic generator - 200 requests, 10 workers, 16 scenario types: browsers (Chrome/Firefox/Safari/Edge/mobile), bots (Googlebot/Bing/curl/wget), GET/POST/HEAD/PUT/PATCH/DELETE/OPTIONS, HTTP + HTTPS - Multiple SSL contexts (default, TLS1.2-only, TLS1.3-only, few_ciphers) → 4 distinct JA4/JA3 fingerprints per test run - Realistic headers: Accept, Accept-Language, Sec-Fetch-*, Referer, X-Forwarded-For, Cookie, Cache-Control - JSON payloads, form data, CORS preflights - DB always reset (down -v) at start of each test run - Enhanced Phase 5 checks: distinct UAs, method variety, JA4/JA3 counts + uniqueness Results: 199/200 OK, 24 distinct UAs, 7 HTTP methods, TLS 1.2+1.3, 4 JA4 fingerprints Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@ -142,14 +142,15 @@ services:
|
||||
- ja4net
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Traffic generator — lightweight container with curl for sending external
|
||||
# HTTPS requests to platform. Traffic must cross the Docker network so
|
||||
# sentinel (pcap on eth0) can capture TLS ClientHello packets.
|
||||
# Traffic generator — Python (stdlib only) sending varied HTTP/HTTPS requests
|
||||
# to platform across the Docker network so sentinel (pcap on eth0) captures
|
||||
# TLS ClientHello packets with real JA4/JA3 fingerprints.
|
||||
# Multiple SSL contexts produce different TLS fingerprints per request.
|
||||
# ---------------------------------------------------------------------------
|
||||
traffic-gen:
|
||||
image: curlimages/curl:latest
|
||||
build:
|
||||
context: traffic-gen
|
||||
hostname: traffic-gen
|
||||
entrypoint: ["sleep", "infinity"]
|
||||
depends_on:
|
||||
platform:
|
||||
condition: service_healthy
|
||||
|
||||
Reference in New Issue
Block a user