Android蓝牙Bluejacking可能吗?
Posted
技术标签:
【中文标题】Android蓝牙Bluejacking可能吗?【英文标题】:Android Bluetooth Bluejacking Possible? 【发布时间】:2011-05-30 13:23:18 【问题描述】:读自http://developer.android.com/guide/topics/wireless/bluetooth.html,
当前的 Android 蓝牙 API 要求设备在建立 RFCOMM 连接之前进行配对。 (启动加密时会自动执行配对 与蓝牙 API 的连接。)
但是,据我所知,蓝牙协议允许在没有配对两个设备的情况下发送.vcf (vCard) 文件。这就是 Bluejacking 可以在索尼爱立信 k7** 系列、诺基亚 63** 系列等旧手机上使用的原因。
为了编写一个 android bluejacking 应用程序,我希望能够从 Android 发送 vCard 文件,而无需先与设备配对。有谁知道这是否可能?
【问题讨论】:
bluejacking 的关键要素之一是让手机被发现。默认情况下,大多数 Android 手机是不可发现的,因此这非常具有挑战性。 新手机的蓝色插孔是可能的,现在有一些应用程序可以做到这一点,但名字让我无法理解。 【参考方案1】:您可以让手机在无限制的时间内被发现,这可能是 bluejackign 成为可能的起点:
EXTRA_DISCOVERABLE_DURATION 额外的意图。应用可以设置的最长持续时间为 3600 秒,值为 0 表示设备始终处于可发现状态。
【讨论】:
【参考方案2】:Bluejacking 实际上只是向其他蓝牙用户发送未经请求的消息。这通常与Bluesnarfing 混淆。我在 android 中使用过的大多数旧手机甚至都没有打开蓝牙发现,这确实是有人可以进行 Bluejacking 的唯一方法,如果他们还没有与你的手机配对,他们必须先看到你的蓝牙才能发送。通常,一旦选择,此发现模式仅开启 2 分钟。较新的手机更容易配对,但我在连接时仍然遇到问题。
【讨论】:
以上是关于Android蓝牙Bluejacking可能吗?的主要内容,如果未能解决你的问题,请参考以下文章
Android 和 iPhone 可以通过蓝牙 SPP 配置文件进行通信吗?