2015-10-20 45 views
0

我正在一个ibeacon应用程序,我担心别人可能会嗅探我的应用程序的邻近UUID。所以我做了一些研究,发现这篇文章:http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.htmlsniff ibeacon包与接近UUID主要次要

它基本上说与其他人一样,苹果不允许你这样做。但后来我发现了一些像这样的mac应用程序:https://github.com/liamnichols/iBeaconScanner

我做了一些测试,它真的可以显示我的UUID。是否有任何方法来阻止即使这些mac或android应用程序获取我的接近UUID?

回答

0

“CoreBluetooth不让你看到信标”博客文章你提到的是专门关于iOS。在该平台上,除非您事先知道标识符,否则操作系统的公共API不允许您检测iBeacon。

您参考的iBeaconScanner程序适用于OSX,它没有相同的限制。在OSX以及Android,Linux,Windows和其他平台上,您可以扫描信标并读取标识符,而无需事先知道它们。

我曾经使用Android Locate app来读取beacon identifiers at the Apple Store,然后用相同的标识符制作了一个信标,并且能够在iPhone上弹出Apple Store欢迎消息。

你不能阻止其他人这样做。您需要设计任何使用iBeacon技术的系统来考虑这种可能性。

+0

感谢您的详细解释。所以这就是说,对于iBeacon你不能这么做,那么使用BLE怎么样?例如,你可以定义自己的服务/特性和加密/解密?我的意思是说,在技术上你可以做的工作,以防止任何人得到你的接近uuid? – lemondeer

+0

是的,您可以使用包含只有您知道如何解密的标识符的加密有效内容来传输您自己的自定义BLE广告。万向节信标使用这样的系统。 – davidgyoung

+0

谢谢大卫,你的回答真的很有帮助!如果我决定以这种方式使用,会比iBeacon消耗更多电量吗?这是否支持背景模式广告/接收? – lemondeer