蓝牙嗅探与跟踪攻击:蓝牙跟踪攻击方法_5.蓝牙地址解析.docxVIP

蓝牙嗅探与跟踪攻击:蓝牙跟踪攻击方法_5.蓝牙地址解析.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE1

PAGE1

5.蓝牙地址解析

蓝牙设备在进行通信时,会使用一个唯一的地址来标识自己。这个地址被称为蓝牙设备地址(BluetoothDeviceAddress,BDADDR)。了解和解析蓝牙设备地址是进行蓝牙嗅探和跟踪攻击的基础。本节将详细介绍蓝牙地址的结构、解析方法以及如何利用这些信息进行攻击。

5.1蓝牙设备地址的结构

蓝牙设备地址是一个48位的地址,通常表示为6个16进制的数字对,中间用冒号分隔。例如:00:11:22:33:44:55。这个地址可以分为两个部分:

**upper24bits(OUI)**:前24位是组织唯一标识符(OrganizationallyUniqueIdentifier,OUI),用于标识设备的制造商。

**lower24bits(NIC)**:后24位是网络接口控制器(NetworkInterfaceController,NIC),用于标识制造商生产的具体设备。

5.2蓝牙地址的类型

蓝牙设备地址有三种类型:

**PublicDeviceAddress**:公共设备地址,通常用于正式的蓝牙通信。这种地址是固定的,不会改变。

**RandomDeviceAddress**:随机设备地址,用于提高隐私保护。这种地址可以是静态的或动态的。

**PrivateDeviceAddress**:私有设备地址,用于进一步增强隐私保护。这种地址通常与特定的密钥或时间戳相关联。

5.3蓝牙地址解析的方法

5.3.1使用蓝牙扫描工具

蓝牙扫描工具可以捕获蓝牙设备的广播包,从中提取设备地址。常用的蓝牙扫描工具包括bluetoothctl、hcitool和BluetoothLowEnergy(BLE)Scanner。以下是一个使用bluetoothctl工具进行扫描的示例:

#打开蓝牙控制台

bluetoothctl

#启用扫描

scanon

#等待几秒钟以捕获设备地址

#捕获到的设备地址会显示在控制台中

5.3.2使用hcitool工具

hcitool是一个更底层的工具,可以用于捕获经典蓝牙设备的地址。以下是一个示例:

#捕获经典蓝牙设备的地址

hcitoolscan

5.3.3使用Python进行地址解析

Python有一个强大的库pybluez,可以用于捕获和解析蓝牙设备地址。以下是一个示例代码:

importbluetooth

defscan_devices():

#扫描附近的蓝牙设备

nearby_devices=bluetooth.discover_devices(lookup_names=True)

print(Found{}devices..format(len(nearby_devices)))

#遍历设备并打印地址和名称

foraddr,nameinnearby_devices:

print({}-{}.format(addr,name))

if__name__==__main__:

scan_devices()

5.4随机设备地址的解析

随机设备地址使得设备地址难以被追踪,但仍然可以通过一些方法进行解析。以下是一些常见的方法:

5.4.1捕获多个广播包

随机设备地址可能会在短时间内保持不变,但通常会在一定时间后变化。通过捕获多个广播包,可以分析出设备的规律。以下是一个使用pybluez捕获多个广播包的示例:

importbluetooth

defcapture_advertising_packets():

#扫描附近的蓝牙设备

nearby_devices=bluetooth.discover_devices(lookup_names=True,duration=10)

print(Found{}devices..format(len(nearby_devices)))

#存储捕获的设备地址

captured_addresses={}

#遍历设备并打印地址和名称

foraddr,nameinnearby_devices:

ifaddrnotincaptured_addresses:

captured_addresses[addr]=[]

captured_addresses[addr]

您可能关注的文档

文档评论(0)

kkzhujl + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档