簡體   English   中英

獲取Android Wi-Fi熱點/網絡共享/ AP的MAC地址

[英]Getting MAC address of Android Wi-Fi Hotspot/tethering/AP

我可以通過以下方式獲取Android中Wi-Fi接口的MAC地址:

final WifiInfo wi = wm.getConnectionInfo();
String mac = wi.getMacAddress();

但是,我意識到,當Wi-Fi充當無線接入點(路由器)(又名熱點或網絡共享或AP)時,MAC地址不再相同。 我可以從adb shell ip addr show知道。

當Wi-Fi連接到網絡時, adb shell ip addr show顯示:

10: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether a0:0b:ba:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.25/24 brd 192.168.1.255 scope global wlan0
    inet6 fe80::a20b:baff:fee0:73c7/64 scope link 
       valid_lft forever preferred_lft forever

但是,當它充當接入點時,

10: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 02:1a:11:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.43.1/24 brd 192.168.43.255 scope global wlan0

所以MAC地址不同。

我想知道如何從Java代碼獲取Wi-Fi接入點( 02:1a:11:xx:xx:xx )的MAC地址?

這是Android中的錯誤或功能。 每次啟動AP / Wlan綁定時,都會生成一個隨機的mac地址,直到您停止服務為止。

這是在2011年報告的,所以我認為這不會很快改變https://code.google.com/p/android-wifi-tether/issues/detail?id=1104

更新2018:似乎他們正式宣布這是一個安全功能: https//source.android.com/devices/tech/connect/wifi-mac-randomization

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM