如果我在我的Android手机中启用了Wi-Fi热点,并且其他2部Android手机已连接到我的热点,那我该如何区分每部手机?
我的手机是否区分使用IEMI号码的其他手机?
答案 0 :(得分:1)
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
希望以上方法之一能帮到你!!
答案 1 :(得分: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管理帧,以便进入经过身份验证和关联的状态。
移动台开始时未经过身份验证和关联。
移动台发送探测请求以发现其附近的802.11网络。探测请求通告移动台支持的数据速率和802.11n等802.11功能。因为探测请求是从移动台发送到目标第2层地址和BSSID的ff:ff:ff:ff:ff:ff所有接收它的AP都会响应。
接收探测请求的AP检查移动台是否具有至少一个公共支持的数据速率。如果它们具有兼容的数据速率,则发送探测响应,通告SSID(无线网络名称),支持的数据速率,加密类型(如果需要)以及AP的其他802.11功能。
移动台从其接收的探测响应中选择兼容网络。兼容性可以基于加密类型。一旦发现兼容网络,移动台将尝试使用兼容的AP进行低级别802.11认证。请记住,802.11身份验证与WPA2或802.1X身份验证机制不同,后者是在对移动台进行身份验证和关联后发生的。最初的802.11认证帧是为WEP加密而设计的,但是这种安全方案已被证明是不安全的,因此不予推荐。由于这种802.11认证框架是开放的,几乎总是成功。
移动台向AP发送低级别802.11认证帧,设置认证打开,序列为0x0001。
AP接收认证帧并响应移动台,认证帧设置为打开,表示序列为0x0002。
如果AP从未经过身份验证的移动台接收到除身份验证或探测请求之外的任何帧,则它将使用解除身份验证帧进行响应,从而将移动设备置于未经身份验证的无关联状态。该站必须从低级认证步骤开始关联过程。此时,移动台被认证但尚未关联。某些802.11功能允许移动台对多个AP进行低级别身份验证。这在AP之间移动时加速了关联过程。移动台可以通过802.11认证到多个AP,但是它一次只能主动关联并通过单个AP传输数据。
一旦移动台确定要与哪个AP关联,它就会向该AP发送关联请求。关联请求包含所选的加密类型(如果需要)和其他兼容的802.11功能。如果AP从经过验证但尚未关联的移动台接收到帧,则它将以解除关联帧进行响应,从而将移动台置于经过验证但未关联的状态。
如果关联请求中的元素与AP的能力匹配,则AP将为移动台创建关联ID,并以关联响应进行响应,其中成功消息授予对移动台的网络接入。
现在移动台已成功与AP关联,数据传输可以开始。
注意:如果无线网络上需要WPA / WPA2或802.1X身份验证,则在802.11关联完成后进行动态键控和身份验证之前,移动台将无法发送数据。
答案 2 :(得分:0)
当设备连接到您的热点时,热点的DHCP服务器通过其MAC地址识别这些设备,并为这些设备分配一个或多个IP,并将此数据(MAC地址和分配的IP)存储在color_map
您可以使用-
获取最新数据"/proc/net/arp"