Bluetooth Basics

Basics of Interaction

  • hciconfig command is to bluetooth adapters as ifconfig is to linux networking interfaces.

  • View your device

hciconfig
hci0:	Type: Primary  Bus: USB
	BD Address: 00:01:95:79:EF:89  ACL MTU: 310:10  SCO MTU: 64:8
	UP RUNNING 
	RX bytes:1252 acl:0 sco:0 events:76 errors:0
	TX bytes:2862 acl:0 sco:0 commands:75 errors:0
  • Can see Bus: USB

  • Interface name hci0

  • BD Address (our address) 00:01:95:79:EF:89

  • Status of our adapter UP RUNNING

  • ACL MTU: 310:10

    • The MTU size for ACL connections. 310 bytes. An ACL buffer size uses 10 packets.

  • SCO MTU: 64:8

    • The MTU size for SCO connection. 64 bytes. An SCO buffer size uses 8 packets.

  • UP - The interface is in the UP state.

  • RUNNING - The interface is currently operational.

  • PSCAN - The interface will respond to page scan messages.

Change the name of Adapter

  • Names cannot be blank and names cannot be in excess of 248 bytes in length

  • BlueZ stack limits devices to 247 byte name length

Bring Adapter Up/Down

Central v Peripheral Mode

  • See if your adapter is running in central or peripheral mode

  • Can see we are in peripheral mode

  • ACCEPT means that the interface will accept new baseband connections from a central device

View Version

Enable Discoverable Mode

  • configure device to be in discoverable mode and allow connections to the interface

  • If successful you will see PSCAN ISCAN

Disable Discoverable Mode

PSCAN V ISCAN

  • PSCAN enabled allows connections to the interface

  • ISCAN places the device in discoverable mode

Place device in discoverable mode but dont accept new connections

  • Should see UP RUNNING ISCAN in the output of the second hciconfig hci0 command

Restore ability to accept new connections

  • should see UP RUNNING PSCAN ISCAN

Spoofing Device Class

  • There are three types of Bluetooth device classes 1-3.

  • It is important to have the ability to spoof a device in a different class

  • Some devices might simply ignore your device if it is of the wrong class.

    • i.e. a headset for phone calls might ignore your device if you are not a phone

    • case by case basis per manufacturer

  • change the class for a device

  • useful site for attaining the codes to act like other devices

Scanning for Devices

  • Basic Scan

  • Detailed Scan

  • A better example

Last updated