1.蓝牙简介蓝牙(Bluetooth)是一种无线技术标准,可实现固定设备之间的短距离数据交换,ISM频段的移动UHF无线电波)。今天,蓝牙由蓝牙特别兴趣小组(SIG,BluetoothSpecialInterestGroup)管理。BluetoothSIG在全球拥有超过25000家成员公司,分布在电信、计算机、网络和消费电子等多个领域。IEEE将蓝牙技术列为IEEE802.15.1,但该标准如今已不再维护。BluetoothSIG监督蓝牙规范的开发、管理认证计划并维护商标权。制造商的设备必须符合蓝牙技术联盟的标准才能作为“蓝牙设备”销售。蓝牙技术有一个专有网络,可以分发给符合标准的设备。在各大手机厂商和PC厂商的推动下,几乎所有的移动设备和笔记本电脑都配备了蓝牙模块,用户对蓝牙的使用也越来越多。蓝牙用于不同设备之间的无线连接,例如连接计算机与外围设备(打印机、键盘等),或允许个人数字助理(PDA)与附近的其他PDA或计算机通信。采用蓝牙技术的手机可以连接到计算机、PDA甚至扬声器。蓝牙和Wi-Fi(使用IEEE802.11标准的产品的品牌名称)有一些相似的应用:设置网络、打印或传输文件。Wi-Fi主要旨在取代工作场所中的高速电缆应用,用于一般局域网访问,有时也称为无线局域网(WLAN)。蓝牙主要用于便携式设备及其应用,也称为无线个人局域网(WPAN)。蓝牙在很多应用场景中可以替代便携设备的线缆,可以应用在一些固定的地方,比如智能家居能源管理(比如恒温器)。Wi-Fi和蓝牙的应用有些互补。Wi-Fi通常以接入点为中心,通过接入点和路由器在网络中形成非对称的客户端-服务器连接。另一方面,蓝牙通常是两个蓝牙设备之间的对称连接。蓝牙适用于简单的应用,两台设备通过最简单的配置连接,如耳机、遥控器的按键,而Wi-Fi则更适用于一些客户端设置稍微复杂、响应速度要求高的应用,比如通过接入节点接入网络。然而,蓝牙接入点确实存在,并且Wi-Fi点对点连接是可能的,尽管不如蓝牙那么容易。Wi-FiDirect为Wi-Fi添加了类似蓝牙的点对点功能。传统蓝牙是指“蓝牙4.0规范”之前的蓝牙设备,而符合“蓝牙4.0规范”的则称为“低功耗蓝牙”。下面介绍一下目前常用的蓝牙版本,介绍各个版本的改进、优势和特点。(1)Bluetooth2.1Bluetooth2.1+EDR进一步降低了功耗,简化了设备间的配对过程。2007年,功耗方面是蓝牙2.1最大的改进。在蓝牙2.0标准中,规定手机每0.1s需要与蓝牙设备进行一次联系配对,而在2.1版本中,这个时间限制被延长至0.5s,为手机节省了大量电量和蓝牙设备。改善电池寿命。(2)Bluetooth3.0Bluetooth3.0+HS,高速传输,速率提升到24Mbit/s左右。2009年4月21日,BluetoothSIG正式颁布了“BluetoothCoreSpecificationVersion3.0HighSpeed”(蓝牙核心规范Version3.0HighSpeed),蓝牙3.0的核心是“GenericAlternateMAC/PHY”(AMP),这是一个A新的备用无线电技术,允许蓝牙堆栈为任何任务动态选择正确的无线电。原先预计在新规范中使用的技术包括802.11和UMB,但新规范取消了UMB的应用。作为新版本的规范,蓝牙3.0的传输速度自然会更高,而其中的奥秘就在于802.11无线协议。通过集成“802.11PAL”(协议适配层),将蓝牙3.0的数据传输速率提高到24-25Mbit/s左右(需要时可以调用802.11Wi-Fi实现高速数据传输),即Bluetooth2.0可轻松用于VCR到HDTV、PC到PMP、UMPC到打印机之间的数据传输。在功耗方面,通过蓝牙3.0高速传输大量数据自然会消耗更多的能量,但由于引入了增强型功率控制(EPC)机制,辅以802.11,实际闲置功耗将是显着减少。(3)蓝牙4.0蓝牙技术联盟于2010年6月30日正式推出蓝牙核心规范4.0(简称BluetoothSmart)。它包括经典蓝牙、蓝牙高速和蓝牙低功耗协议。BluetoothHighSpeed基于Wi-Fi,而BluetoothClassic包括遗留的蓝牙协议。蓝牙4.0的提升主要体现在三个方面:续航时间、节能和设备类型。此外,蓝牙4.0的有效传输距离也得到了提升。蓝牙4.0最重要的特点就是省电技术。极低的工作和待机功耗,可使一颗纽扣电池连续工作数年。此外,低成本和跨供应商互操作性、3毫秒低延迟、超过100米的超长距离、AES-128加密等许多其他特性可用于计步器、心率监测器、智能仪表、传感器物联网等。领域,大大扩展了蓝牙技术的应用范围。(4)Bluetooth5.0Bluetooth5是蓝牙技术联盟于2016年6月16日发布的新一代蓝牙标准,Bluetooth5.0的开发者声称新版本的蓝牙传输速度上限为2Mbit/s,是原来的两倍以前的4.2LE版本。蓝牙5.0的另一项重要改进是其有效距离是之前版本的4倍。理论上,蓝牙发射和接收设备之间的有效工作距离可达300米。蓝牙5.0将增加更多的导航功能。因此,这项技术可以用作室内导航信标或类似的定位设备。结合Wi-Fi,可实现精度小于1m的室内定位。2.低功耗蓝牙低功耗蓝牙(BLE,BluetoothLowEnergy)(或BTLE)是蓝牙v4.0的一个关键特性,它将重新定义蓝牙技术的使用方式。Bluetoothlowenergy延续了“传统”蓝牙技术的精神,包括低成本、短距离、互操作性,并工作在免许可的2.4GHzISM射频频段。同时,它增加了创新的超低功耗工作模式,提供了多种新型用例和应用可能性。虽然蓝牙4.0也号称低功耗、远距离连接,但在现实中,智能手机与硬件设备的连接距离并没有理论给出的那么远。低功耗蓝牙技术是一种低成本、短距离、可互操作、稳健的无线技术,在免许可的2.4GHzISM无线电频段中运行。低功耗技术是作为超低功耗(ULP)无螺纹技术从头开始设计的。它利用许多智能措施来最大限度地减少功耗。BLE分为3个部分:Service、Characteristic、Descriptor,都使用UUID作为唯一标识。一个蓝牙4.0终端可以包含多个Service,一个Service可以包含多个Characteristics,一个Characteristic包含一个Value和多个Descriptor,一个Descriptor包含一个Value。BLE工作在ISM频段,定义了2.4GHz频段和896/915MHz频段两个频段。BLE工作在2.4GHz频段,仅适用于3个广播频道,适用于所有蓝牙规范版本通用的自适应调频技术。(1)蓝牙设备扫描目前很多手机都内置了蓝牙功能,当然也可以扫描蓝牙设备。然而,手机的这些内置功能往往只提供最基本的信息,没有过多的信息,甚至只有一个蓝牙设备的名称。Android设备上有一款名为BLEScanner的软件,可以提供更全面的信息扫描,详细说明信号强度、硬件地址和方向,还具有历史记录等功能,如图1所示。图1BLEScanner软件可以在Linux系统上使用hcitool和BTScanner,用这两个软件扫描可以获得更详细的信息。$hcitoolscan–all可以扫描附近的蓝牙设备,如图2所示。图2扫描附近的蓝牙设备$hcitoollescan扫描附近的低功耗蓝牙设备。可以使用gatttool连接设备,获取主要信息和服务信息,如图3所示。图3获取主要信息和服务信息UUID是“UniversallyUniqueIdentifier”的缩写,意思是UniversallyUniqueIdentifier。对于蓝牙设备,每个服务都有一个通用的、独立的、唯一的UUID与之对应,如图4所示。图4蓝牙设备的UUID(二)BLE嗅探UbertoothOne是一个开源的2.4GHz无线开发平台,适用于蓝牙实验。适用于无源蓝牙监控,最新源码可以在github上找到。按照官网教程安装好需要的文件后,插入USB口时只有两个绿灯亮起。驱动安装完成后,两个红灯会亮起,证明UbertoothOne可以使用了。插上天线后,即可使用Ubertooth观察频谱,如图5所示,命令如下。$ubertooth-specan-ui图5Ubertooth频谱分析仪使用Kismet工具测量周围的无线信号并查看所有可用的无线接入点。它可以与UbertoothOne一起使用以获得更好的效果。(3)BLEAttack在iOS下,可以使用LightBlue强行连接蓝牙设备,断开原来的连接。进入浅蓝色页面可以看到附近的蓝牙设备,选择Flowercare进行连接,如图6。图6浅蓝色连接蓝牙设备进入连接页面,可以看到蓝牙设备更详细的信息,包括设备名称、设备UUID、ADVERTISEMENTDATA,以及设备中包含的服务、服务中包含的特征等,如图7所示。图7详细信息还可以连接小米手环进行重放攻击。在AlertLevel(振动等级:0-不振动,1-轻微振动,2-强烈振动)中写入新的值1和2来控制小米手环的振动。这样就可以在一定范围内控制任何人的手环,使其持续振动。
