2017-02-09 55 views
0

我將描述我的設置:在Eddystone Beacon中廣播的MAC ID是否改變?

我製作了一個模擬Eddystone信標的android應用程序。 我能夠使用PlayStore的Beacon Toy應用程序檢測手機上的Eddystone信標。但是,從最後一次檢查起,顯示的MAC ID已經改變。 由於命名空間和實例ID相同,但在不同的MacID下,我可以識別它的相同信標。 有人可以建議這裏發生了什麼?我的印象是MacID保持不變。

回答

0

是的,Android發射器隨機化他們的藍牙MAC地址。這不是特定於Eddystone,而是所有類型的Android信號發射器,更確切地說是Android BLE廣告。

爲了證明這一點,我對我的Nexus 5X進行了一些測試。使用定位信標應用程序以iBeacon格式發送信標(相同的結果也適用於Eddystone和其他格式)我可以看到,每當我停止並開始廣告時,發送的MAC地址都會發生變化。

我的Nexus 5X在設置 - >關於手機 - >狀態 - >藍牙地址中顯示藍牙MAC地址。這是64:bc:0c:xx:xx:xx(注:我已經消隱了MAC的最後三個特定於設備的字節,只露出前三個字節是分配給LG電子,Nexus的5X的製造商,公司OUI)

對於這個測試,我開始在配置了BlueZ的Linux設備上進行藍牙LE掃描。掃描輸出它找到的每個新BLE設備的MAC地址。 BlueZ不擾亂這個MAC地址。

接下來,我重複啓動和停止Nexus 5X上的發射器。每次我都會在掃描結果中顯示一個新的MAC地址。在下面的輸出中,我幾次點擊返回鍵以在每次檢測後留出空白行以顯示何時關閉和重新開啓發射機。

$ sudo hcitool lescan 
LE Scan ... 


5C:62:56:18:DA:A5 (unknown) 
5C:62:56:18:DA:A5 (unknown) 


6A:E8:D1:90:CA:26 (unknown) 
6A:E8:D1:90:CA:26 (unknown) 


70:A8:86:F7:E9:68 (unknown) 
70:A8:86:F7:E9:68 (unknown) 


66:F6:B4:24:89:44 (unknown) 
66:F6:B4:24:89:44 (unknown) 

正如你所看到的,每個發射器啓動時,它發出的是無關通過設置報告的物理MAC地址一個新的隨機MAC地址

+0

感謝您的詳細分析。 爲何這樣做的特定原因?爲什麼不堅持一個固定的mac地址?這使得如果MAC ID不斷變化,則更難以檢測到BLE設備的重複存在。實際上,我的目標是確定唯一的設備數量,而不依賴於eddystone框架內的名稱空間/實例id。 –

+0

我相信其意圖是保護手機擁有者的隱私。有幾家公司致力於嗅探從人們手機發出的無線電信號,並使用MAC地址追蹤它們用於市場營銷或其他目的。各國政府也這樣做,有時候也是爲了更有疑問的目的。通過相關技術,這些組織可以將MAC與一個人的身份聯繫起來。 Android的MAC隨機化使得這些嗅探器更難以唯一識別一個人。 – davidgyoung

+0

哦,我明白了!謝謝回覆。但是,鑑於這一點很奇怪,探測請求的WiFi確實包含Mac ID,如果我沒有錯,它們也是獨一無二的。無論如何,我猜想基於信標解決方案的用戶的室內跟蹤不能取決於藍牙MAC ID。我想現在唯一的選擇就是使用namspace和實例id使手機播放eddystone幀和音軌。再次感謝 –

相關問題