蓝牙耳机伪装

虽然蓝牙耳机伪装还未想到什么实战价值,但本文阐述的通用伪装技术,在实战中经常应用。

本文将介绍如何把 PC 伪装成一个蓝牙耳机。

背景知识

蓝牙为音频应用提供的 Profile 有如下几种:

  • HSP, HeadSet Profile

    HSP 是一个功能非常基本音频 profile。它定义了两个角色 AG (Audio Gateway) 和 HS (HeadSet)。比如在手机与耳机相连场景中,手机就是 AG,而耳机则为 HS。

    HSP 仅支持单声道音频的传输,且一个 AG 同时只能连接一个 HS。另外 HSP 还定义了一个按钮功能,用于开始或结束通话。

  • HFP, Hands-Free Profile

    HFP 在 HSP 的基础上添加了更多的功能。它定义了两个角色 Handsfree 与 HandsfreeAudioGateway。比如在车机与手机相连场景中,车机就是 Handsfree,而手机则为 HandsfreeAudioGateway。

    HFP 传输的音频仍是单声道的。但相对 HSP,HFP 提供了更多让耳机、车机控制手机的功能。比如通话等待,通话切换等等。

  • A2DP, Advanced Audio Distribution Profile

    A2DP 是当今常用的蓝牙音频 Profile。它定义了两个角色 AudioSource 与 AudioSink。同 HSP 类似,在手机与音箱相连的场景中,手机就是 AudioSource,而音箱则为 AudioSink。

    与 HSP 不同的是,A2DP 支持立体声的传输,且提供更好的音频传输质量。该 Profile 使用的音频传输协议称为 AVDTP (Audio/Video Distribution Transport Protocol)。

  • AVRCP, Audio/Video Remote Control Profile

    AVRCP 定义了多媒体遥控器的功能。它定义了两个角色 A/V_RemoteControlController 与 A/V_RemoteControlTarget。比如耳机连接手机后,耳机就是 A/V_RemoteControlController,而手机则是 A/V_RemoteControlTarget。

    AVRCP 以一条条命令的形式实现各种控制功能。比如快进,下一首等等。该 Profile 使用的传输协议是 AVCTP (Audio/Video Control Transport Protocol)。

Linux 中的蓝牙耳机伪装

在 Linux 中执行 sudo sdptool records local 可以查看本地启用的所有 Profile。可以发现 A2DP 定义的 AudioSink 默认被启用:

这意味着 Linux 默认就提供蓝牙耳机、音箱的功能。当手机通过蓝牙连接上 Linux 后,可以直接通过 Linux 播放声音。

关于 sdptool 这里有一个坑,当使用较新的 BlueZ 时,比如 BlueZ 5.50,执行上面的命令可能失败:

此时只要修改 bluetooth.service,为 bluetoothd 添加 --compat 启动参数即可:

伪装蓝牙设备名和设备类型

仅仅实现蓝牙耳机的接收音频并播放音频的功能对于伪装来说还不够,需要进一步伪装蓝牙设备的名称与类型。使用 spooftooph 即可完成这些伪装:

其中 -n 指定期望伪装的名字,-c 指定期望伪装的设备类型。蓝牙设备类型 (CoD, Class of Device) 可使用在线工具生成:

使用 hciconfig 可以验证这些名称是否修改成功:

关于蓝牙设备名和设备类型的伪装也有一些坑:

  • 本地伪装成功在远端未必生效

    有些手机会缓存蓝牙设备名称或类型。这些手机在一个蓝牙上电周期或更长的时间内,对同一个 BD_ADDR 不会更新其名称或类型。此时我们即时修改的设备名称和类型便不会生效。

    解决该问题的办法是,在修改设备名称与类型的同时,修改设备的 BD_ADDR:

  • 执行一些本地命令将导致设备名重置

    使用 spooftooph 修改设备名称后,执行如下操作将导致设备名称重置:

    • sudo hciconfig <hcix> reset
    • sudo systemctl restart bluetooth.service
    • reboot
    • 插拔蓝牙适配器

    被重置的名称存储在与蓝牙适配器相关的配置文件中,比如:

    名称被重置的根本原因是 spooftooph 在修改设备名称时并未修改该相应的配置文件。使用 bluetoothctlsystem-alias 可以解决该问题:

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • 最近项目使用蓝牙,之前并没有接触,还是发现了很多坑,查阅了很多资料,说的迷迷糊糊,今天特查看官方文档。 说下遇到的...
    King9527阅读 1,794评论 0 1
  • Guide to BluetoothSecurity原文 本出版物可免费从以下网址获得:https://doi.o...
    公子小水阅读 7,974评论 0 6
  • 蓝牙profile简介 蓝牙是一种短距的无线通讯技术,可实现固定设备、移动设备之间的数据交换。一般将蓝牙3.0之前...
    超人不会Fly阅读 11,552评论 0 12
  • Android平台支持蓝牙网络协议栈,实现蓝牙设备之间数据的无线传输。本文档描述了怎样利用android平台提供的...
    Camming阅读 3,307评论 0 3
  • 前言 最近在做Android蓝牙这部分内容,所以查阅了很多相关资料,在此总结一下。 基本概念 Bluetooth是...
    猫疏阅读 14,566评论 7 113