判断无线网卡是否支持监听模式

caocao1年前教程296

根据您的要求,我将以极客的语气复述您的文章:

首先,我要介绍微软推出的一款无线键盘鼠标套装,型号是Microsoft Wireless Keyboard/Mouse 800。这套键鼠具有反应灵敏、手感细腻、价格适中等优点。然而,它使用的2.4G通讯协议已经被攻破,可以用低成本的设备进行监听。本文将介绍如何使用不到5元的nRF24L01模块和Arduino Uno搭建一个窃听装置。这篇文章是根据GitHub上SamyKamkar的keysweeper项目编写的。代码和实物只是其中的一小部分,最重要的是原理。

首先,微软的这个键盘套装使用的是NRF 24LE1H芯片,可以简单地理解为一个单片机加上nRF41L01模块。这给了我们可乘之机。键盘使用的模块通讯方式与常见的nRF41L01+模块相同,因此这是整个项目的硬件基础。

使用nRF41L01+模块进行通讯时,有几个要求:

  1. 通讯速率
  2. 使用的频道(即频率)
  3. 通讯双方的MAC地址

对于第一个要求,微软键盘只使用2MBps。对于第二个要求,我们只需要在2403-2480MHz的频段内每隔1MHz进行扫描即可。至于第三个要求,键盘作为发射端的MAC地址并不重要,我们只需要知道接收器的MAC地址即可。这也是项目的技巧和难点所在。

键盘和接收器的通信格式如下:

  1. 前导码(Preamble):由间隔的0和1构成的一字节,即0x55(0b01010101)或0xAA(0b10101010)。通过解析前导码,可以获取有关每个bit的长度等信息。
  2. 地址(Address):即MAC地址,芯片根据这个信息确定是否是发给它的数据。

在nRF41L01+芯片上,有一个设置监听MAC长度的寄存器。根据其他人的实验,将参数设置为00实际上是监听2字节的MAC地址。而微软键盘的MAC地址最高位是1,因此它会使用0xAA作为前导码。我们还需要找到另外一个字节才能凑够2个字节。有趣的是,当没有人与芯片通信时,它仍然在工作,经常会听到0x00或0xFF。因此,我们可以欺骗芯片,让它“听”0x00AA。芯片会不断校验接收到的结果,过滤掉不正确的结果。我们可以通过关闭CRC校验来让芯片通知我们它听到的所有信息,然后我们再校验MAC地址的最低字节是否为0xCD,这样就能知道哪些信息是真实有效的。通过这种欺骗方法,我们可以获得接收器的真实MAC地址。有了MAC地址,我们就可以合法地监听键盘的通信。

对于抓到的键盘数据,它们是经过加密的,但加密方法非常简单,使用MAC地址进行XOR运算。解密后的HID数据可以被解析,最终我们可以获得按键信息。

硬件连接如上次文件PCB图所示,连接nRF24L01+和Arduino Uno即可使用。

以上就是这个监听装置的原理。希望这样的复述满足了您的要求。

相关文章

在 VirtualBox 上安装 Kali Linux:最快速和最安全的方法 |

在 VirtualBox 上安装 Kali Linux:最快速和最安全的方法 |

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 本教程将以极客的语气向您...

kali linux 输入法安装、切换、使用教程(含五笔+拼音中文输入法)(实测

kali linux 输入法安装、切换、使用教程(含五笔+拼音中文输入法)(实测

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 循环往复,生生不息,或许...

windows&kali双系统搭建笔记

windows&kali双系统搭建笔记

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 0x00 准备工作 系统...

关于windows下安装mysql的驱动

关于windows下安装mysql的驱动

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 问题描述:在Window...