蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)

2022-03-31

配置成功平台1

  • Windows 7
  • nRF52840(不稳定)、nRF52832(可用)
  • Wireshark 3.6.3

配置成功平台2

  • Debian 11.3 (bullseye)
  • nRF52832(可用)、nRF52840(可用)
  • Wireshark 3.4.10

配置失败平台

  • Debian 10.6 (buster)
  • nRF52832
  • Wireshark 2.6.8

蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)(1)

遇到的问题点

最近搭建蓝牙抓包平台,已经在Linux和Windows系统搭建成功,为了搭建此平台走了不少弯路,在此,记录下遇到的各个问题,其中包括:

  • nRF52840无法下载sniffer固件
  • Windows下nRF52840抓包非常不稳定,甚至无法识别,nRF52832可以正常使用
  • 因Linux Wireshark版本太低与Nordic抓包插件不兼容

解决方法总结就几句话

  • 购买有sniffer固件的产品
  • nRF52840固件在Windows上交互友好,建议首选nRF52832
  • Linux下Wireshark要用3.4.10以上版本、Windows要用3.6以上版本,否则插件不识别,

用到的资料包括如下两个:

  • Wireshark配置教程 “nRF_Sniffer_BLE_UG_V4.1.0.pdf”
  • Wireshark插件 “nrf_sniffer_for_bluetooth_le_4.1.0.zip”

资料提取方法,关注程序员写个解:私信发送nrf52提取

下面是先后怎么处理的记录。

买原厂硬件

蓝牙采集卡Nordic厂的产品,我先后购买过2种型号3个产品,Nordic官方蓝牙采集卡其实是一块开发板,产品外观是没有外壳的类似U盘的板卡,我首先买的是官方的nRF52840,它不仅仅可以抓取蓝牙数据包,也可以DIY其它蓝牙应用产品,本质就是个单片机,无非再搭一套编译、烧录环境。

蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)(2)

偷着乐:“哟,那还不赚到了,岂不是买蓝牙采集卡送蓝牙开发板?”安装软件不是连续点击下一步就完事?似乎我搭建的环境和官方手册的不一致,nRF Connect for Desktop工具集里的Programmer没法识别出开发板的分区,最终也没完成,130多元打水漂了。

蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)(3)

买国产二道贩硬件

Nordic其实也卖芯片,国内好几个厂家售卖原厂方案的产品,出厂已经下载好与原家一致的固件,最重要的是价格还便宜一半,还带塑料外壳。至于哪个厂家,你就自己在网店随便搜吧。

我首先卖得是nRF52840,Windows系统 管理员 权限打开Wireshark成功抓取到数据包。还没来得及高兴,点击红色“暂停抓包”按钮,Wireshark就变白色的了,自后老是弹对话框提示错误。

“不会烧了吧?”

10年前曾今遇到过“某USB接口产品只能插在USB2.0接口上,插在USB3.0立即损毁”。卖家销售售货时有提醒,不过我认为他一个外行,说什么奇谈怪论。

开始验证是否真的坏了。

打开“设备管理器”,插拔蓝牙采集卡,串口那一栏会自动增减。再用SecureCRT打开蓝牙串口,看到乱码输出,证明没有损坏。

一通客服咨询后个的建议:“nRF52840很挑电脑,换台电脑试试,若仍旧不行请更换nRF52832。”

系统切换到Linux下,Wireshark也遇到同样的现象。无奈再下单,每天第一件事就看快递到哪了。nRF52832到手后想着可以干正式咯,昨天晚上9点测试产品——还是抓取不到数据。大晚上网店客服也不会给我解释。

一星期什么都没干成,深感自己好颓废,那就再颓废一点吧,从保险箱里拿出游戏机打了几局,为什么是保险箱?其实就是个带锁头的铁盒,为了防止控制不住自己,把游戏机放在铁盒里,叫做增加获得难度。

升级Wireshark

游戏打着打着,想着会不会是Wireshark版本问题,在参考官方PDF配置教程时,发现“Personal Extcap path”这一栏在Linux下是没有的,同时也注意到Windows和Linux下Wireshark的版本分别是2.x和3.x,最初我人为可能Windows和Linux下的版本号是相互独立的。

去Wireshark官网尝试下载Linux下最新版本的安装包,官方不提供安装包,只提供源码。

“咦!”既然是提供源码,可推断Windows和Linux下的版本肯定是统一的,极有可能是Linux下Wireshark版本太老的缘故。其实还有个方法可确认采集卡是否在本系统下可用。

如何确认

官方插件压缩包doc目录下有两个python测试源码example.py、example_linux.py,分别对应Windows、Linux平台。分别在两平台下测试,Nice…通过!

蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)(4)

蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)(5)

更新deb源

都是Intel平台,谁还用源码编译呀,先去Debian镜像源看有没有最新的Wireshark版本,中国科大的数据源里找到了,版本最新是3.6.3,最终自动更新的是3.4.10。

蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)(6)

在sources.list新增Debian 10 buster网络数据源,apt-get update更新,apt-cache madison wireshark还是看不到3.x版本。我系统iso镜像是Debian 10.6发布于2020年9月,最后的子版本是Debian 10.12,madison搜索不到最新版本,表明Debian官方已经不再对此版本添加非必须第三方软件。我必须升级到更高级的源上去,时至今日,stable已经是Debian 11至于子版本是多少得更新后才知道。

蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)(7)

注释掉网络升级buster代号,改成stable,重新更新软件源。

蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)(8)

瞧,Wireshark 3.x版本不就出来了吗。

蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)(9)

我本地同时存在Debian 10.6 buster和Debian 11.3 bullseye两个代号。

蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)(10)

蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)(11)

需要特别提醒 修改代号后安装任何软件极有可能涉及一系列依赖,一旦涉及glibc的版本升级,导致一百个以上软件需要更新也是很平常的。由于依赖众多,用aptitude可自动完成依赖软件包更新

先卸载之前的wireshark,在重新安装,至于最后系统是否需要升级看你的具体情况咯。

apt-get autoremove wireshark aptitude install wireshark aptitude upgrade

蓝牙抓包器(搭建蓝牙抓包平台遇到的小问题)(12)

最后

在Linux下用最新版本Wireshark可以使用nRF52832、nRF52840两套硬件。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页