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

nrf52822 as bluetooth sniffer

Hey,

I have a smart kettle Redmond RK-g201s, which is controlled by bluetooth. I have read that it has nrf51 SoC. It has 1 service with 2 characteristics: for read and for write. Is it possible to use nrf51822 as bluetooth sniffer to grab the packets which kettle's iOS app send and receive to the kettle? Maybe is there an example app for this purpose?

Parents
  • Hello,

    Yes. That is possible. 

    There is something called nRF Sniffer, which allows you to sniff BLE traffic, using either nRF51 or nRF52. 

    I recommend that you go with the nRF Sniffer V2.0.0.1 beta, as we have seen some problems with the v1 with new Windows computers.

     

    Note that the connection is most likely encrypted (Hopefully). You might need to delete bonding information on the phone and your kettle (It might be called a factory reset or something) to sniff the traffic. If you sniff while the link is being encrypted, it should be able to pick up the keys to decrypt the messages. If you need to enter a passkey in your app, then you must insert this into wireshark when you sniff as well.

     

    If you want to play around with the Kettle, you can also try to connect to it via nRF Connect for Desktop (requires nRF51/nRF52 connected to computer) or nRF Connect for iOS/Android. Then you should see the services, and you can read/write to them to experiment with what they do.

     

    Best regards,

    Edvin

Reply
  • Hello,

    Yes. That is possible. 

    There is something called nRF Sniffer, which allows you to sniff BLE traffic, using either nRF51 or nRF52. 

    I recommend that you go with the nRF Sniffer V2.0.0.1 beta, as we have seen some problems with the v1 with new Windows computers.

     

    Note that the connection is most likely encrypted (Hopefully). You might need to delete bonding information on the phone and your kettle (It might be called a factory reset or something) to sniff the traffic. If you sniff while the link is being encrypted, it should be able to pick up the keys to decrypt the messages. If you need to enter a passkey in your app, then you must insert this into wireshark when you sniff as well.

     

    If you want to play around with the Kettle, you can also try to connect to it via nRF Connect for Desktop (requires nRF51/nRF52 connected to computer) or nRF Connect for iOS/Android. Then you should see the services, and you can read/write to them to experiment with what they do.

     

    Best regards,

    Edvin

Children
  • Hey Edvin,

    thanks for your reply!

    I was trying to use nRF Connect, but it always disconnect after some seconds. I could find 2 characteristics but when I tried to listen one of them I got nothing. Guess there is a some handshake probably or something like that

  • I don't know the firmware in the kettle, but if you try nRF Connect for Desktop, it should give you a disconnect reason. It might just say that it has disconnected from the remote user (the kettle), and if so, it has decided to do it for some reason. 

    It may also be some issues with bonding information, but in that case it should disconnect immediately, and you shouldn't be able to see the characteristics.

     

    It could very well be some issues with the connection parameters, such as connection interval. That usually takes some time before a disconnect, if the device doesn't get to connect with it's preferred connection interval.

     

    You can try to sniff the connection, to see what packs that are going between the devices.

     

    BR,

    Edvin

  • nRF Connect for Desktop works only with nrf chips? Cause when I installed it on Mac OS X, and launch RSSI Viewer I got en error: 2018-07-05T09:32:38.190Z ERROR Error while probing devices: Error occured when get serial numbers. Errorcode: CouldNotOpenDLL (0x7)

Related