-
Notifications
You must be signed in to change notification settings - Fork 4
Recipes
Aaron Wasserman edited this page Jul 10, 2026
·
1 revision
Copy-paste command examples for common BLE testing workflows. This is the same catalog caeruleus recipes prints; run caeruleus recipes <keyword> to filter (e.g. recipes trigger, recipes llm, recipes fuzz). Set ADDR to your target first (ADDR=AA:BB:CC:DD:EE:FF, from caeruleus scan).
caeruleus scan
caeruleus scan --duration 30 # longer window
caeruleus scan -o json # structured outputcaeruleus enumerate -b $ADDR
caeruleus enumerate -b $ADDR --values # also read every characteristiccaeruleus read -b $ADDR -a 0x0029
caeruleus read -b $ADDR -u 00002a00-0000-1000-8000-00805f9b34fbcaeruleus write -b $ADDR -a 0x002c -n deadbeef
caeruleus write -b $ADDR -a 0x002c -s "hello" # ASCII
caeruleus write -b $ADDR -a 0x002c -n 01 --req # write-with-response# Subscribe on 0x0083, then write to 0x0081, then capture the response:
caeruleus listen -b $ADDR -a 0x0083 \
--trigger-handle 0x0081 --trigger-value FEDCBA0003000101EF
# Capture multiple responses from repeated triggers:
caeruleus listen -b $ADDR -a 0x0083 \
--trigger-handle 0x0081 --trigger-value 01 \
--trigger-count 5 --count 0caeruleus listen -b $ADDR -a 0x0025
caeruleus listen -b $ADDR -a 0x0025 -d 30 --count 10 # up to 10 events or 30s
caeruleus listen -b $ADDR -a 0x0025 --extract # hex-only (pipeable)# Use the HCI monitor socket to see wire events BlueZ hides:
sudo caeruleus listen -b $ADDR -a 0x0025 --hidden --monitor on# Raw HCI monitor (like btmon, but decoded ATT only):
sudo caeruleus monitor -d 30
sudo caeruleus monitor --handle 0x0025 --count 5caeruleus shell -b $ADDR
# Then: enumerate, read 0x0029, write 0x002c deadbeef, listen 0x0025, etc.# Terminal 1: start daemon with persistent connection
sudo caeruleus serve -b $ADDR
# Terminal 2 (or from an LLM agent via Bash):
caeruleus send "enumerate"
caeruleus send "read 0x0029"
caeruleus send "write 0x002c deadbeef"
caeruleus send "read 0x002c" # read back after writecaeruleus batch -b $ADDR <<'EOF'
read 0x0015
write 0x002b -s "test" --req
read 0x0029
EOFecho -e "deadbeef\ncafebabe\n01020304" | \
caeruleus write -b $ADDR -a 0x002c --each-line# In shell/batch: write 0x00..0xFF to 0x002c, read 0x0029 each time:
caeruleus batch -b $ADDR <<'EOF'
brute 0x002c 0x0029 0 255
EOFcaeruleus pair -b $ADDR # Just Works
caeruleus pair -b $ADDR --passkey 123456 # Passkey Entrycaeruleus recon -b $ADDR
caeruleus recon -b $ADDR -o json # structured outputcaeruleus assess check-auth -b $ADDR
caeruleus assess check-auth -b $ADDR --probe-write # also probe writescaeruleus assess wwr -b $ADDR
caeruleus assess wwr -b $ADDR --burst 200 # heavier rapid-fire burstcaeruleus fuzz write -b $ADDR -a 0x002c --seed deadbeef --max-iter 1000caeruleus doctor
caeruleus adapter info
sudo caeruleus adapter power off && sudo caeruleus adapter power on