gpt4 book ai didi

android - 获取客户端的 IP 地址或获取连接到 Hotspot Android 的客户端的信息(SSID)(Tethering 后)

转载 作者:行者123 更新时间:2023-11-29 15:27:59 24 4
gpt4 key购买 nike

我得到了 Wifi 网络共享程序,我在 Android 中得到了一个开放(非安全)热点。我想查看连接到我的热点的客户端(SSID 和 IP 地址)的详细信息。我使用了 SocketAddress socketid=socket.getLocalSocketAddress();还用过

public  void getLocalIpAddressString() {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
// return inetAddress.getHostAddress().toString();
Toast.makeText(getApplicationContext(), inetAddress.getHostAddress().toString(),
Toast.LENGTH_SHORT).show();

}
}
}
} catch (Exception ex) {
Log.e("IPADDRESS", ex.toString());
}
// return null;
}

这些将只返回本地 IP,但你能帮我获取连接到我的 Wifi 热点的客户端的 IP 地址吗?谢谢。

最佳答案

最后我得到了将客户端 IP 连接到我的热点的响应。每次将新客户端添加到我的网络时,下面的代码将跟踪 Mac 和 IP 的变化

public void getClientList() {

int macCount = 0;
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("/proc/net/arp"));
String line;
while ((line = br.readLine()) != null) {
String[] splitted = line.split(" +");

if (splitted != null && splitted.length >= 4) {
// Basic sanity check
String mac = splitted[3];

if (mac.matches("..:..:..:..:..:..")) {
macCount++;
ClientList.add("Client(" + macCount + ")");
IpAddr.add(splitted[0]);
HWAddr.add(splitted[3]);
Device.add(splitted[5]);
Toast.makeText(
getApplicationContext(),
"Mac_Count " + macCount + " MAC_ADDRESS "
+ mac, Toast.LENGTH_SHORT).show();
for (int i = 0; i < splitted.length; i++)
System.out.println("Addressssssss "
+ splitted[i]);
}
}
}

关于android - 获取客户端的 IP 地址或获取连接到 Hotspot Android 的客户端的信息(SSID)(Tethering 后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9906021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com