<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Can&amp;#39;t setup the nRF BLE Sniffer</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/76736/can-t-setup-the-nrf-ble-sniffer</link><description>Howdy, 
 I&amp;#39;m evaluating the nRF Sniffer + nRF52840 dongle as a stop gap BLE sniffer solution, but I&amp;#39;m having a lot of issues setting it up. 
 Re: Installing nRF Sniffer ( https://infocenter.nordicsemi.com/index.jsp?topic=%2Fug_sniffer_ble%2FUG%2Fsniffer_ble</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 30 Jun 2021 09:04:17 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/76736/can-t-setup-the-nrf-ble-sniffer" /><item><title>RE: Can't setup the nRF BLE Sniffer</title><link>https://devzone.nordicsemi.com/thread/317904?ContentTypeID=1</link><pubDate>Wed, 30 Jun 2021 09:04:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a0c70734-118e-4233-a844-390f6c732f0b</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;You are right that using the debug key on one side is enough if the sniffer intercepts the LESC process (as then it gets the peers public key from air and have what it needs to calculate the shared secret). It is not supported by the current nRF Sniffer though.&lt;/p&gt;
[quote user="RTMerkel"]Are there any plans to add this ability to the nRF sniffer did the same?[/quote]
&lt;p&gt;We are in fact working on a new version of the nRF sniffer for BLE (4.x.x), and this is intended to support input of DH Private Key to support sniffing LESC connections as well as inputting the LTK if that is known/calculated from before.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't setup the nRF BLE Sniffer</title><link>https://devzone.nordicsemi.com/thread/317783?ContentTypeID=1</link><pubDate>Tue, 29 Jun 2021 17:24:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:186cd0ec-aa3f-4d28-b138-c5ca5a118448</guid><dc:creator>RTMerkel</dc:creator><description>&lt;p&gt;Re: Regarding LESC debug keys, that is only usable if both devices are in debug mode.&lt;/p&gt;
&lt;p&gt;That&amp;#39;s too bad, we hoped to use the nRF sniffer for cases where one, or the other, peer was using debug keys, i.e., nRF connection (iOS) and a peripheral running the debug LESC keys.&lt;/p&gt;
&lt;p&gt;Note that the Ellisys sniffer works when just one peer is running LESC debug keys, but of course it has to capture pairing. Are there any plans to add this ability to the nRF sniffer did the same?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't setup the nRF BLE Sniffer</title><link>https://devzone.nordicsemi.com/thread/317420?ContentTypeID=1</link><pubDate>Mon, 28 Jun 2021 09:43:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a0da80dd-6b40-4693-91f6-02009270b22d</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It is good to see that you are up and running with the sniffer. Thanks for the comments on the documentation. I will forward those.&lt;/p&gt;
&lt;p&gt;You write that you use LESC, and then nRF Connect will not be able to decrypt the packets. The nRF Sniffer can decrypt packets if the paring procedure was LE legacy, as then pairing happens in clear text, and all the sniffer needs to do is to listen in on the pairing. However, LESC uses a&amp;nbsp;Diffie–Hellman key exchange to prevent this, so that even if an attacker listens in on everything, he will not have a way to know the shared secret. So in this case you will only be able to see the encrypted packets after the link is secured.&lt;/p&gt;
&lt;p&gt;Regarding LESC debug keys, that is only usable if both devices are in debug mode. But even in that case, this is not supported by the nRF Sniffer (I think it should be possible to get Wireshark to parse the packets if you calculate and provide the LTK for the debug key, though).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't setup the nRF BLE Sniffer</title><link>https://devzone.nordicsemi.com/thread/317306?ContentTypeID=1</link><pubDate>Fri, 25 Jun 2021 16:05:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4a04fdf4-5ca0-4265-a4eb-7e68c50b8392</guid><dc:creator>RTMerkel</dc:creator><description>&lt;p&gt;&lt;strong&gt;Step: Adding a Wireshark profile for nRF Sniffer&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Between steps 5 and 6 should include that you have to manually install the profile.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m sniffing... but not decrypting. Note that we use LESC and Just Works. I did the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;quot;Forgot&amp;quot; the peripheral on my iPhone&lt;/li&gt;
&lt;li&gt;Started capture and woke the peripheral. I can see advertising&lt;/li&gt;
&lt;li&gt;Connected to the peripheral from my iPhone, paired&lt;/li&gt;
&lt;li&gt;Disconnect, stop capture.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;But the sniffer isn&amp;#39;t decrypting:&lt;/p&gt;
&lt;p&gt;3015&amp;nbsp;&amp;nbsp; &amp;nbsp;10.531&amp;nbsp;&amp;nbsp; &amp;nbsp;Master_0xaf9ab5d8&amp;nbsp;&amp;nbsp; &amp;nbsp;LE 2M&amp;nbsp;&amp;nbsp; &amp;nbsp;LE LL&amp;nbsp;&amp;nbsp; &amp;nbsp;1&amp;nbsp;&amp;nbsp; &amp;nbsp;29759&amp;micro;s&amp;nbsp;&amp;nbsp; &amp;nbsp;1&amp;nbsp;&amp;nbsp; &amp;nbsp;1&amp;nbsp;&amp;nbsp; &amp;nbsp;False&amp;nbsp;&amp;nbsp; &amp;nbsp;132&amp;nbsp;&amp;nbsp; &amp;nbsp;Encrypted packet decrypted incorrectly (bad MIC)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sniffing a connection between paired devices&lt;/strong&gt; suggest that one of the devices must use the debug LESC keys. I ran a test with a Central that always uses the debug keys, but that doesn&amp;#39;t bond&lt;/p&gt;
&lt;p&gt;&amp;quot;Encrypted packet decrypted incorrectly (bad MIC)&lt;/p&gt;
&lt;p&gt;Looking at &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/67517/capture-le-secure-connection-occurs-bad-mic-after-successfully-sniffering-the-air-packets-for-a-while"&gt;devzone.nordicsemi.com/.../capture-le-secure-connection-occurs-bad-mic-after-successfully-sniffering-the-air-packets-for-a-while&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't setup the nRF BLE Sniffer</title><link>https://devzone.nordicsemi.com/thread/317299?ContentTypeID=1</link><pubDate>Fri, 25 Jun 2021 15:37:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a03f1e6-c7d4-4103-be5c-ece726b91614</guid><dc:creator>RTMerkel</dc:creator><description>&lt;p&gt;I tried the following:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;gt;&amp;gt;&amp;gt; import serial
&amp;gt;&amp;gt;&amp;gt; dir(serial)
[&amp;#39;__builtins__&amp;#39;, &amp;#39;__cached__&amp;#39;, &amp;#39;__doc__&amp;#39;, &amp;#39;__file__&amp;#39;, &amp;#39;__loader__&amp;#39;, &amp;#39;__name__&amp;#39;, &amp;#39;__package__&amp;#39;, &amp;#39;__path__&amp;#39;, &amp;#39;__spec__&amp;#39;, &amp;#39;abc&amp;#39;, &amp;#39;absolute_import&amp;#39;, &amp;#39;division&amp;#39;, &amp;#39;errors&amp;#39;, &amp;#39;generators&amp;#39;, &amp;#39;hooks&amp;#39;, &amp;#39;marshal&amp;#39;, &amp;#39;meta&amp;#39;, &amp;#39;model&amp;#39;, &amp;#39;nested_scopes&amp;#39;, &amp;#39;print_function&amp;#39;, &amp;#39;properties&amp;#39;, &amp;#39;request&amp;#39;, &amp;#39;test&amp;#39;, &amp;#39;unicode_literals&amp;#39;, &amp;#39;utilities&amp;#39;, &amp;#39;with_statement&amp;#39;]&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;And then, following the suggestions at &lt;a href="https://stackoverflow.com/questions/33267070/no-module-named-serial:"&gt;https://stackoverflow.com/questions/33267070/no-module-named-serial:&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;C:\Program Files\Wireshark\extcap&amp;gt;pip3 uninstall pyserial
Found existing installation: pyserial 3.5
Uninstalling pyserial-3.5:
  Would remove:
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\scripts\pyserial-miniterm.exe
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\scripts\pyserial-ports.exe
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\pyserial-3.5.dist-info\*
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\*
  Would not remove (might be manually added):
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\abc\__init__.py
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\abc\model.py
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\abc\properties.py
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\errors.py
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\hooks.py
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\marshal.py
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\meta.py
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\model.py
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\properties.py
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\request.py
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\test.py
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\utilities\__init__.py
    c:\users\310260622\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages\serial\utilities\compatibility.py
Proceed (y/n)? y
  Successfully uninstalled pyserial-3.5

C:\Program Files\Wireshark\extcap&amp;gt;pip3 install pyserial
Collecting pyserial
  Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB)
Installing collected packages: pyserial
  WARNING: The scripts pyserial-miniterm.exe and pyserial-ports.exe are installed in &amp;#39;C:\Users\310260622\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\Scripts&amp;#39; which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pyserial-3.5

C:\Program Files\Wireshark\extcap&amp;gt;python
Python 3.9.5 (tags/v3.9.5:0a7dcbd, May  3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] on win32
Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.
&amp;gt;&amp;gt;&amp;gt; import serial
&amp;gt;&amp;gt;&amp;gt; dir(serial)
[&amp;#39;CR&amp;#39;, &amp;#39;EIGHTBITS&amp;#39;, &amp;#39;FIVEBITS&amp;#39;, &amp;#39;LF&amp;#39;, &amp;#39;PARITY_EVEN&amp;#39;, &amp;#39;PARITY_MARK&amp;#39;, &amp;#39;PARITY_NAMES&amp;#39;, &amp;#39;PARITY_NONE&amp;#39;, &amp;#39;PARITY_ODD&amp;#39;, &amp;#39;PARITY_SPACE&amp;#39;, &amp;#39;PortNotOpenError&amp;#39;, &amp;#39;SEVENBITS&amp;#39;, &amp;#39;SIXBITS&amp;#39;, &amp;#39;STOPBITS_ONE&amp;#39;, &amp;#39;STOPBITS_ONE_POINT_FIVE&amp;#39;, &amp;#39;STOPBITS_TWO&amp;#39;, &amp;#39;Serial&amp;#39;, &amp;#39;SerialBase&amp;#39;, &amp;#39;SerialException&amp;#39;, &amp;#39;SerialTimeoutException&amp;#39;, &amp;#39;Timeout&amp;#39;, &amp;#39;VERSION&amp;#39;, &amp;#39;XOFF&amp;#39;, &amp;#39;XON&amp;#39;, &amp;#39;__builtins__&amp;#39;, &amp;#39;__cached__&amp;#39;, &amp;#39;__doc__&amp;#39;, &amp;#39;__file__&amp;#39;, &amp;#39;__loader__&amp;#39;, &amp;#39;__name__&amp;#39;, &amp;#39;__package__&amp;#39;, &amp;#39;__path__&amp;#39;, &amp;#39;__spec__&amp;#39;, &amp;#39;__version__&amp;#39;, &amp;#39;absolute_import&amp;#39;, &amp;#39;basestring&amp;#39;, &amp;#39;importlib&amp;#39;, &amp;#39;io&amp;#39;, &amp;#39;iterbytes&amp;#39;, &amp;#39;os&amp;#39;, &amp;#39;protocol_handler_packages&amp;#39;, &amp;#39;serial_for_url&amp;#39;, &amp;#39;serialutil&amp;#39;, &amp;#39;serialwin32&amp;#39;, &amp;#39;sys&amp;#39;, &amp;#39;time&amp;#39;, &amp;#39;to_bytes&amp;#39;, &amp;#39;unicode&amp;#39;, &amp;#39;win32&amp;#39;]
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Now the modified BAT file works:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;C:\Program Files\Wireshark\extcap&amp;gt;nrf_sniffer_ble.bat --extcap-interfaces
extcap {version=3.1.0}{display=nRF Sniffer for Bluetooth LE}{help=https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Sniffer-for-Bluetooth-LE}
control {number=0}{type=selector}{display=Device}{tooltip=Device list}
control {number=1}{type=string}{display=Passkey / OOB key}{tooltip=6 digit temporary key or 16 byte Out-of-band (OOB) key in hexadecimal starting with &amp;#39;0x&amp;#39;, big endian format. If the entered key is shorter than 16 bytes, it will be zero-padded in front&amp;#39;}{validation=\b^(([0-9]{6})|(0x[0-9a-fA-F]{1,32}))$\b}
control {number=2}{type=string}{display=Adv Hop}{default=37,38,39}{tooltip=Advertising channel hop sequence. Change the order in which the siffer switches advertising channels. Valid channels are 37, 38 and 39 separated by comma.}{validation=^\s*((37|38|39)\s*,\s*){0,2}(37|38|39){1}\s*$}{required=true}
control {number=3}{type=button}{role=help}{display=Help}{tooltip=Access user guide (launches browser)}
control {number=4}{type=button}{role=restore}{display=Defaults}{tooltip=Resets the user interface and clears the log file}
control {number=5}{type=button}{role=logger}{display=Log}{tooltip=Log per interface}
value {control=0}{value= }{display=All advertising devices}{default=true}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not sure how this worked, but the linked to stack overflow says something about indexing.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll continue with the official procedure and let you know how it works.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't setup the nRF BLE Sniffer</title><link>https://devzone.nordicsemi.com/thread/317292?ContentTypeID=1</link><pubDate>Fri, 25 Jun 2021 15:22:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3223bcd7-fff9-44fd-94d1-50d8b7cceaf1</guid><dc:creator>RTMerkel</dc:creator><description>&lt;p&gt;I tried the link - it&amp;#39;s to a private website which requires a password.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't setup the nRF BLE Sniffer</title><link>https://devzone.nordicsemi.com/thread/317288?ContentTypeID=1</link><pubDate>Fri, 25 Jun 2021 15:20:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b1deaa5-3f2b-4e59-8d56-0e4202f157ad</guid><dc:creator>RTMerkel</dc:creator><description>&lt;p&gt;Hi Einar!&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll take a look at the unofficial instructions to day.&lt;/p&gt;
&lt;p&gt;My py points to Python 3.7.8 while &amp;quot;python&amp;quot; runs 3.9.5. My guess is that &amp;quot;pip3 install -r requirements.txt&amp;quot; is updating 3.9.5.&lt;/p&gt;
&lt;p&gt;Any suggestions on debugging &amp;quot;ImportError: cannot import name &amp;#39;SerialException&amp;#39; from &amp;#39;serial&amp;#39;&amp;quot;? My guess is that the Philips scripts are out of date with the [py]serial installed by pip3.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can't setup the nRF BLE Sniffer</title><link>https://devzone.nordicsemi.com/thread/317263?ContentTypeID=1</link><pubDate>Fri, 25 Jun 2021 13:56:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8b4788f2-c465-437d-9e23-3a8d8f1aa700</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi Randy,&lt;/p&gt;
[quote user=""]Daniel Veilleux suggests that it actually worked as the log says &amp;quot;DFU for Application completed successfully!&amp;quot; If so, the instructions should note this.[/quote]
&lt;p&gt;Daniel is right, you will get this error as long as the new firmware does not have the DFU trigger library. I agree that should be stated, though.&lt;/p&gt;
&lt;p&gt;I will forward the needs for improving the documentation. There is another set of instructions here, which is unofficial but quite good: &lt;a href="https://jimmywongiot.com/2020/07/08/how-to-install-nrf-sniffer-through-nrf52-dk-board/"&gt;How to install BLE Sniffer on nRF52840 Dongle and run it&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;py should normally point to the default python version in your system. I am not sure exactly why this causes problems but it seems you are getting issues because you have two python 3 versions installed at the same time. Can you first make sure you only have a single python 3 install before going forward?&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>