Android 已连接到移动热点的用户的详细信息

Android 已连接到移动热点的用户的详细信息,android,android-studio,android-wifi,Android,Android Studio,Android Wifi,如果我在我的android手机中启用了Wi-Fi热点,并且另外两部android手机连接到我的热点,那么我如何区分每部手机 我的手机是否区分使用IEMI号码或其他号码的不同手机?1)您可以使用BroadcastReceiver“android.net.wifi.wifi\u HOTSPOT\u CLIENTS\u CHANGED”来检测客户端连接。 在您的AndroidManifest中: <receiver android:name=".WiFiConnectionRec

如果我在我的android手机中启用了Wi-Fi热点,并且另外两部android手机连接到我的热点,那么我如何区分每部手机

我的手机是否区分使用IEMI号码或其他号码的不同手机?

1)您可以使用BroadcastReceiver“android.net.wifi.wifi\u HOTSPOT\u CLIENTS\u 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>
2) 另一方面,请检查以下答案:


希望以上方法之一能对你有所帮助

IMEI不会发生在与AP的关联中(在本例中,您的Android手机充当热点),AP甚至不知道请求连接的站点是手机。关联通过第2层的探测请求/探测响应(即MAC地址)进行

以下是整个关联过程的详细信息(来自):

接入点是在移动站和网络上的其他设备之间桥接通信的桥梁。在移动站可以通过AP发送流量之前,它必须处于适当的连接状态

三种802.11连接状态为:

  • 没有被认证或关联的
  • 已验证但尚未关联
  • 认证和关联
在桥接发生之前,移动站必须处于认证和关联状态

移动站和AP将交换一系列802.11管理帧,以达到认证和关联状态

一个移动站开始时没有经过身份验证和关联

  • 移动站发送探测请求以发现其附近的802.11网络。探测请求公布移动台支持的数据速率和802.11功能,如802.11n。因为探测请求是从移动站发送到目的地第2层地址的,因此ff:ff:ff:ff:ff:ff的BSSID接收到它的所有AP都将响应

  • 接收探测请求的AP检查移动台是否至少有一个共同支持的数据速率。如果它们具有兼容的数据速率,则发送探测响应,宣传SSID(无线网络名称)、支持的数据速率、加密类型(如果需要)以及AP的其他802.11功能

    移动站从接收到的探测响应中选择兼容网络。兼容性可能基于加密类型。一旦发现兼容网络,移动站将尝试使用兼容AP进行低级别802.11身份验证。请记住,802.11身份验证与WPA2或802.1X身份验证机制不同,WPA2或802.1X身份验证机制发生在移动站经过身份验证并关联之后。最初802.11认证帧是为WEP加密而设计的,但是该安全方案已被证明是不安全的,因此不推荐使用。因此,802.11认证帧是开放的,并且几乎总是成功的

  • 移动站向AP发送低级802.11认证帧,将认证设置为打开,并将序列设置为0x0001

  • AP接收认证帧并使用设置为open的认证帧响应移动站,该认证帧指示0x0002的序列

    如果AP从未经身份验证的移动台接收到除身份验证或探测请求以外的任何帧,则AP将使用取消身份验证帧进行响应,从而将移动台置于未经身份验证或未关联状态。站点必须从低级身份验证步骤开始关联过程。此时,移动站经过身份验证,但尚未关联。某些802.11功能允许移动站对多个AP进行低级身份验证。这会在AP之间移动时加快关联过程。一个移动站可以通过802.11认证给多个AP,但是它一次只能通过单个AP主动关联和传输数据

  • 一旦移动站确定要与哪个AP关联,它将向该AP发送关联请求。关联请求包含所选的加密类型(如果需要)和其他兼容的802.11功能。如果AP从移动台接收到经过身份验证但尚未关联的帧,它将以解除关联帧进行响应,将移动台置于经过身份验证但未关联的状态

  • 如果关联请求中的元素与AP的能力相匹配,则AP将为移动站创建关联ID,并使用关联响应来响应,该关联响应带有向移动站授予网络访问权的成功消息

  • 现在,移动站已成功地与AP关联,并且可以开始数据传输


  • 注意:如果无线网络上需要WPA/WPA2或802.1X身份验证,则在802.11关联完成后进行动态键控和身份验证之前,移动站将无法发送数据。

    当设备连接到热点时,hotspot的DHCP服务器通过MAC地址识别这些设备,并为这些设备分配一个或多个IP,并将这些数据(MAC地址和分配的IP)存储在
    “/proc/net/arp”

    您可以使用-

    Runtime.exec("ip -s -s neigh flush all")
    

    最好根据MAC地址来区分。那么,我能知道连接设备的MAC地址吗?是的,但这是Android的一个bug或功能。每次您启动AP/Wlan连接时,都会生成一个随机mac地址,直到您停止服务。这在2011年这里有报道,所以我认为这不会很快改变:有没有一种方法可以让我从连接的手机向热点发送一些信息?@RohanSharma您的意思是在连接的两台设备之间共享信息使用热点?不,不是在连接的设备之间,而是在热点设备和
    Runtime.exec("ip -s -s neigh flush all")