Cannot view or Read advertisement data of a Beacon in wireshark - wireshark

I currently have a Estimote beacon and I am using wireshark on Ubuntu. A USB dongle which can receive BLE data is connected to my laptop. When I start the Bluetooth 0 on wireshark it does not show any data packets. What might be the reason that I cannot see any data packets even though the beacon is placed close by to the laptop. I followed this link till the "sudo wireshark" command.
http://www.orangenarwhals.com/?p=887

Related

Ellysis Bluetooth Sniffing Apple Airpods

I'm trying to determine how Apple Airpods pair and connect as seamlessly as they do, but I couldn't find any in-depth technical explanation so I embarked on a journey to figure it out for myself. I have used an Ellysis Explorer Bluetooth sniffer to sniff both BLE and Bluetooth Classic packets from the Airpods and the iPhone I have used to connect with it.
The issue is that I lack the background knowledge in Bluetooth to fully understand what I am looking at so I'm hoping somebody can explain what is appearing on the BT sniffer in the snapshots below:
The below picture is a list of the BLE packets captured after the Airpods case has been opened but BEFORE connecting to the phone.
The below picture is a list of the Bluetooth Classic packets captured after the Airpods case has been opened but BEFORE connecting to the phone.
The below picture is a list of the Bluetooth Classic packets AFTER connecting to the phone captured on top of the previous ones.
Note that there are no new BLE packets picked up after connecting.
The 1st pic shows that both ears are sending advertising packets.
Then one of the ear is paging the other ear and exchanging information.
Then the iPhone is connected to one of the ear just like normal A2DP connection.
More captures while audio is just started playing would be helpful.
Before analysing packets you need to learn about CoreBluetooth framework. CoreBluetooth deals with scanning, connecting and writing and reading data from "Bluetooth Low Energy" (BLE) devices. BLEs (Peripherals) continuously broadcast a small packet of data when they are not connected with any device Central.
First images shows data which is being broadcasted by BLE, in your case an airpod.

Why can't I capture CDP Packets with my app?

So I'm having a strange issue trying to capture CDP packets. I wrote my own light weight application utilizing the wpcap.dll and built a filter and a parser everything was working fine until I started testing with other computers. It was then I figured out that my application will NOT capture CDP packets if wire shark is not running.
It is capturing an parsing packets fine I can see them scrolling by but I never get a CDP hit. My switches are set to advertise every 60 seconds but I can leave my program open for 10 mins and then open wireshark and get a CDP packet. If I close Wireshark I no longer see the CDP packets.
I'm using the filter 'ether[20:2] == 0x2000' looking for type '0x01E3'
For anyone else who finds this questions, my issue was I was not calling the capture in promiscuous mode. CDP packets are multicast and not directed to your computers MAC. I knew this but for some reason overlooked it in my own program...

Connecting to a Usb peripheral

It looks like the UsbManager is gone in the build. How do we communicate with usb peripherals now?
Things like usb->serial etc using https://github.com/mik3y/usb-serial-for-android
Currently the Peripheral HAL doesn't recognize usbserial based UART peripherals.
But if your usbserial device (ex: Arduino) exposes individual UART TX RX pins, you can communicate with it using the UART Peripheral API.
Caveat:
Don't forget to cross TX and RX when connecting the peripheral to the UART board of your development board
On Raspberry Pi 3, the console needs to be disabled, see: UART peripherals on Android Things for Raspberry Pi 3
It is stated on the known issues part of the release notes that USB support is disabled on the developer preview 1.
However I did a quick test on the Pi3 and high level peripherals such a keyboard work and send the correct events to the app. It is just the low level access what is disabled.
As #devunwired commented in the Google's IoT Developers Community: USB accessory support is not currently enabled is the RC1 preview.

How to capture WiFi-Direct probe request in wireshark?

I am trying to send the wifi direct probe packets using raw sockets so that mobile devices will show them in wifi direct device list.
I am trying to capture packets first in Wireshark in monitor mode in order to understand the packet structure and compare with the P2P probe request packet mentioned in Wifi Direct specification.
But I am not able to capture the correct probe packet in Wireshark. Can anyone suggest me what I am missing in my approach?
I wasn't able to capture packets with filter WLAN.addr= XX:XX:XX:XX:XX:XX. (Actual wifi Mac address), as WiFi Direct Mac address is different and the first byte was different.For example If your wifi mac is 00:04:CB:CX:DE:E7 then WiFi-Direct address is 02:04:CB:CX:DE:E7.
Also, I am able to show the device listed when I sent probe response packet to the device.

Bluetooth transmitter that can receive commands from wi-fi network?

I am looking into building some apps for bluetooth accessories, and wanted to know if there was some sort of device that could do the following (for sake of simplicity, lets call the "wi-fi to bluetooth" transmitter the "dongle"):
Dongle can connect to a wi-fi network, mobile device then sends a command over wi-fi
Dongle receives command from wi-fi network
Dongle then converts those commands and transmits out as bluetooth
Bluetooth accessory then receives the converted commands from dongle
I am not sure if such a device exists, but I have some great ideas for building apps that could remotely access bluetooth accessories over a wi-fi network.

Resources