btproxy
btproxy copied to clipboard
Options for devices that `hcitool inq` can't query?
I'm trying to MITM a device that pairs with a PS Vita, and the device is scanned fine, but the PS Vita seems to basically be invisible to hcitool
. scan
doesn't see it, and inq
can't query it, and sdptool
can't reach it, and neither can l2ping
.
I'm using two different Bluetooth adapters, so it's not that, neither one see it.
I've turned on PSCAN and ISCAN, and so the computer is visible to the Vita, but even trying to pair it doesn't help.
Do I have any options?
Some additional details from a recent attempt:
$ sudo btproxy -v D4:4B:5E:D2:64:A9 8C:DE:52:B4:2C:F8
Running proxy on master D4:4B:5E:D2:64:A9 and slave 8C:DE:52:B4:2C:F8
running ['replace_bluetoothd']
running ['hciconfig', '-a']
running ['hciconfig', 'hci1', 'up']
running ['hciconfig', 'hci2', 'up']
Slave adapter: hci1
Master adapter: hci2
Looking up info on slave (8C:DE:52:B4:2C:F8)
running ['hcitool', 'inq']
Looking up info on master (D4:4B:5E:D2:64:A9)
running ['hcitool', 'inq']
Still looking for D4:4B:5E:D2:64:A9 ... Is it discoverable?
running ['hcitool', 'inq']
"Still looking" and "running" will repeat forever. It never discovers the Vita (and the Vita won't accept incoming connections anyway). I expected it to simulate the slave device and announce itself so the Vita could connect to it, but it never gets there.
Before impersonating ("simulate") a slave device, Btproxy tries to connect to the master device to obtain the device name and class name. Therefore, if the master device is undiscoverable, we need to skip this process, but that option is not currently implemented, so you need to modify the source code.
I have implemented this feature in the forked source code in my repository, which may be useful for you..