2015-11-29 85 views
0

如果我在我的android手機中啓用了Wi-Fi熱點,並且其他2個Android手機已連接到我的熱點,那麼我如何區分每部手機?連接用戶到移動熱點的詳細信息

我的手機是否使用IEMI號碼或其他方式區分不同的手機?

+0

最好區分MAC地址的基礎。 –

+0

因此,我可以知道連接設備的MAC地址嗎? –

+0

是的,但它是Android中的一個錯誤或功能。每次啓動AP/Wlan共享時,都會生成一個隨機的mac地址,直到您停止服務爲止。2011年這裏報告了這一點,因此我認爲這不會很快改變:https://code.google.com/p/android-wifi-tether/issues/detail?id = 1104 –

回答

0

1)您可以使用BroadcastReciever「android.net.wifi.WIFI_HOTSPOT_CLIENTS_CHANGED」來檢測客戶端連接。 在你AndroidManifest:

<receiver 
     android:name=".WiFiConnectionReciever" 
     android:enabled="true" 
     android:exported="true" > 
     <intent-filter> 
      <action android:name="android.net.wifi.WIFI_HOTSPOT_CLIENTS_CHANGED" /> 
     </intent-filter> 
    </receiver> 

,並在您的活動:

IntentFilter mIntentFilter = new IntentFilter(); 
    mIntentFilter.addAction("android.net.wifi.WIFI_HOTSPOT_CLIENTS_CHANGED"); 
        rcv = new WiFiConnectionReciever(); 
        registerReceiver(rcv, 
          mIntentFilter); 

2)另一方面也請檢查這個答案:https://stackoverflow.com/a/21545389/1384010

希望之一以上方法會幫助你!

+0

有沒有一種方法可以將連接手機的某些信息發送到熱點? –

+0

@RohanSharma您是否想要在與您的熱點連接的兩臺設備之間共享信息? –

+0

不,不在連接的設備之間,而是在熱點設備和連接的設備之間。有沒有辦法? –

0

IMEI不會在與AP的關聯中發生(在這種情況下,您的Android手機充當熱點),它甚至不知道要求連接的電臺是電話。該關聯通過在第2層級的探測請求/探測響應(即MAC地址)進行。

下面是詳細整個關聯過程(從https://documentation.meraki.com/MR/WiFi_Basics_and_Best_Practices/802.11_Association_process_explained):

接入點是橋樑在移動臺與網絡上的其他設備之間的橋樑交通。在移動臺可以通過AP發送流量之前,它必須處於適當的連接狀態。

三個802.11連接狀態爲:

  • 不認證,不相關聯。
  • 已驗證,但尚未關聯。
  • 已驗證並關聯。

在發生橋接之前,移動臺必須處於認證和關聯狀態。

移動臺和AP將交換一系列802.11管理幀,以達到認證和關聯狀態。

移動臺開始時未經過認證和關聯。

  1. 移動臺發送探測請求以發現其鄰近範圍內的802.11網絡。探測請求通告移動臺支持的數據速率和802.11能力,例如802.11n。由於探測請求是從移動臺發送到目的地第二層地址和ff:ff:ff:ff:ff:ff的BSSID,所有接收它的AP都將作出響應。

  2. 接收探測請求檢查以查看移動臺是否具有至少一個公共支持數據速率的AP。如果它們具有兼容的數據速率,則會發送探測響應來通告SSID(無線網絡名稱),支持的數據速率,必要時的加密類型以及AP的其他802.11功能。

    移動臺從它接收的探測響應中選擇兼容網絡。兼容性可以基於加密類型。一旦發現兼容的網絡,移動臺將嘗試與兼容的AP進行低級802.11認證。請記住,802.11身份驗證與移動站通過身份驗證和關聯後發生的WPA2或802.1X身份驗證機制不同。最初的802.11身份驗證幀是爲WEP加密而設計的,但是這種安全方案已被證明是不安全的,因此不推薦使用。由於這個802.11身份驗證幀是開放的並且幾乎總是成功的。

  3. 移動臺向AP發送低級別802.11認證幀,設置認證打開並且序列爲0x0001。

  4. AP接收到認證幀,並對認證幀設置爲打開狀態的移動臺做出響應,表示序列爲0x0002。

    如果AP接收到來自未經過身份驗證的移動站的身份驗證或探測請求以外的任何幀,它將以解除身份驗證幀響應,將移動設備置於未經身份驗證的未關聯狀態。該電臺將不得不從低級驗證步驟開始關聯過程。此時移動臺已通過認證但尚未關聯。一些802.11功能允許移動臺對多個AP進行低級別認證。這加快了在AP之間移動時的關聯過程。一個移動臺可以對多個AP進行802.11認證,但是它一次只能主動關聯並通過一個AP傳輸數據。

  5. 一旦移動臺確定了其想要關聯的AP,它將向該AP發送關聯請求。關聯請求包含選定的加密類型(如果需要)和其他兼容的802.11功能。如果一個AP接收到一個來自已認證但尚未關聯的移動臺的幀,它將以一個解除關聯幀進行響應,將該移動臺置於已認證但未關聯的狀態。

  6. 如果關聯請求中的元素與AP的能力相匹配,AP將爲移動臺創建一個關聯ID,並通過成功消息響應關聯響應,從而授予對移動臺的網絡訪問權限。

  7. 現在移動臺已成功關聯到AP並且數據傳輸可以開始。

注意:如果需要在無線網絡上的WPA/WPA2或802.1X認證,移動臺將無法到動態的密鑰和認證所發生的802.11協會完成後發送數據。