This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How Can I sniff GATT Service or Characteristic Attributes by PCA10031 (NRF51 Dongle)?

By using ble-sniffer, I success to catch BLE Advertising packet with my NRF51 Dongle in CMD and WIRESHARK either.
But, I can't sniff any other packet except type of ADV_IND, ADV_SCAN_IND, SCAN_REQ.SCAN_RSP and some of Unknown (CRC Incorrect Packet).

Does This NRF51 and this BLE_SNIFFER program can catch GATT Service or Characteristic? I tried to catch the values between GATT_Client and GATT_Server's communication.

During Capturing packet, I tried NRF51_DK's BLE_pheripheral, BLE_Central APP_Uart Example.
Sending lots of characters between two DK Boards, and also double checked with my Serial Monitor whether the characters were sent correctly.
But as my trial of all these stuff, I COULD NOT FIND MY ANY OF GATT Service or Characteristic Attributes.

Does NRF51 Dongle can sniff all of these data? Or it's just me that i can't snitch these packets?

  • Hi Daniel,

    I'm afraid this is misunderstanding how BLE works. There are 3 dedicated channels for so-called advertising/scanning packets (typically in GAP Broadcaster and Scanner roles). This is what you see by default. All other PDU types and upper layers (LL, L2CAP, Security Manager, ATT, GATT) can be observed only during connection so the answer to your question is simpl: you either don't have any connection (so nothing to observe) or your sniffer misses it (or is wrongly configured so it doesn't follow particular "master" after CONNECT_REQ packet). I can ensure you that nRF51 DONGLE as well as nRF51 DK with Nordic BLE sniffer FW can capture all these packet types.

    Cheers Jan

  • Then how can i make a comnection with peripheral when i'm using ble-snifffer with wireshark?

    I can't found any connection option in wireshark. How do i make a connection while i'm capturing in wireshark?

  • BLE Sniffer is passive device, it just listens to what happens in 2.4GHz radio field and decodes packets if they are familiar (valid structure). So you need other two devices to communicate to be able to get packets into your log.

  • Thanks for your comment and your support. I really do. I'm little bit sorry that i'm newbie in Nordic, i may ask you some dumb questions...

    And Yes, I aware that there must be an active two device communication, and my dongle is trying to catch that two device's gatt communication.

    But, I tried to sniff those communication packet, but always when i tried to catch those packet, but i can't find those. And also yes, I've double checked my connection and checked that data was communicated.

    But the part that i was missing is, i didn't turn on the DEBUG MODE on example code. I'm not really expecting that this is the problem that i've missed.

    But i'm really curious why i can't sniff those packet with my dongle.

  • I suppose you've read User Guide to Nordic's BLE Sniffer here. For instance have you selected correct GAP Peripheral (advertiser) as suggested on Figure 4? If so then sniffer application should follow Connection Request targeting that Peripheral MAC and you should see the packets. It works for me basically every day;)

Related