From e6b337732c85bccb72d20b098a9225e75f242158 Mon Sep 17 00:00:00 2001 From: Matheus Eduardo Garbelini Date: Wed, 8 Sep 2021 19:18:21 +0800 Subject: [PATCH] update toc --- README.md | 29 ++++++++++++++++++++++++----- docs/docs_update.sh | 7 +++++++ 2 files changed, 31 insertions(+), 5 deletions(-) create mode 100755 docs/docs_update.sh diff --git a/README.md b/README.md index 09481b6..84f9aa3 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,25 @@ This is a reverse engineered **active** BR/EDR sniffer and ESP32 patching Differently than **passive** sniffers, which do not interact with the BT network (piconet), the **active** sniffer connects itself to the remote BT device (BR/EDR target) and allows testing the BT protocol down to the Baseband layer while guided by a BT host stack such as **[blue-kitchen](https://github.com/bluekitchen/btstack)**. The *BrakTooth* sniffer supports cheap boards such as [ESP32-DOIT](https://www.aliexpress.com/item/1005001757645011.html?spm=a2g0o.productlist.0.0.364151a11nkQYT&algo_pvid=d71a7474-8721-44b8-ac22-2e7de1ebedcb&algo_exp_id=d71a7474-8721-44b8-ac22-2e7de1ebedcb-0&pdp_ext_f=%7B%22sku_id%22%3A%2212000017777037101%22%7D) ($4) or [ESP32-DevKitC](https://www.mouser.com/ProductDetail/Espressif-Systems/ESP32-DevKitC-32U?qs=%252BEew9%252B0nqrCEVvpkdH%2FG5Q%3D%3D) ($10). + + +
Table of Contents
+ +- [Simplified Setup Overview](#simplified-setup-overview) +- [1) Installation](#1-installation) + - [A. Install Linux requirements (Ubuntu 18.04 / 20.04)](#a-install-linux-requirements-ubuntu-1804--2004) + - [B. Flash custom firmware to ESP32](#b-flash-custom-firmware-to-esp32) +- [2) Usage Instructions](#2-usage-instructions) + - [Example 1 - Connect to remote target (Master Role)](#example-1---connect-to-remote-target-master-role) + - [Example 2 - Wait for BT connection (Slave Role)](#example-2---wait-for-bt-connection-slave-role) + - [Example 3 - HCI Bridge Mode (connect with other BT Host stack)](#example-3---hci-bridge-mode-connect-with-other-bt-host-stack) +- [3) Customising BT Host programs (Profiles)](#3-customising-bt-host-programs-profiles) +- [Software Architecture of BrakTooth Sniffer](#software-architecture-of-braktooth-sniffer) +- [Features Overview](#features-overview) +- [Acknowledgements](#acknowledgements) + + + ### Simplified Setup Overview ![poc_setup](docs/setup.svg) @@ -14,7 +33,7 @@ Differently than **passive** sniffers, which do not interact with the BT ### 1) Installation -###### A. Install Linux requirements (Ubuntu 18.04 / 20.04) +##### A. Install Linux requirements (Ubuntu 18.04 / 20.04) ```bash git clone https://github.com/Matheus-Garbelini/esp32_bluetooth_classic_sniffer @@ -23,7 +42,7 @@ cd esp32_bluetooth_classic_sniffer ./build.sh # Build BT Host programs and Wireshark h4bcm dissector ``` -###### B. Flash custom firmware to ESP32 +##### B. Flash custom firmware to ESP32 Before starting to use *BrakTooth* Sniffer, you need to upload a custom firmware to your ESP32 board: @@ -49,7 +68,7 @@ You can start the sniffer in as either master or slave role. If you use add `--t Lastly, the `--bridge-only` only creates the HCI pseudo terminal (/dev/pts/x) so ESP32 can operate as a standard HCI BT controller. You can use this feature to connect any other BT host stack to ESP32. -##### Example 1 - **Connect** to remote target and start both Wireshark live capture and packets summary +##### Example 1 - Connect to remote target (Master Role) ```bash ./BTSnifferBREDR.py --port=/dev/ttyUSB0 --target=E0:D4:E8:19:C7:69 --live-terminal --live-wireshark @@ -58,13 +77,13 @@ Lastly, the `--bridge-only` only creates the HCI pseudo terminal (/dev/pts/x) s mode_master

-##### Example 2 - **Wait** for BT connections and start both Wireshark live capture and terminal output +##### Example 2 - Wait for BT connection (Slave Role) ```bash ./BTSnifferBREDR.py --port=/dev/ttyUSB0 --live-terminal --live-wireshark ``` -##### Example 3 - Start sniffer in HCI mode (bridge-only) and start both Wireshark live capture and packets summary +##### Example 3 - HCI Bridge Mode (connect with other BT Host stack) ```bash ./BTSnifferBREDR.py --port=/dev/ttyUSB0 --bridge-only --live-terminal --live-wireshark diff --git a/docs/docs_update.sh b/docs/docs_update.sh new file mode 100755 index 0000000..f0dd9f2 --- /dev/null +++ b/docs/docs_update.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +# Go to script directory path +cd "$(dirname "$(readlink -f "${BASH_SOURCE}")")" + +cd ../ +doctoc README.md --github --title "
Table of Contents
" \ No newline at end of file