Java中获取无线网络的SSID等信息

问题描述 投票:0回答:3

我正在尝试用 Java 获取无线网络设备的 SSID。我尝试了官方网络教程 http://java.sun.com/docs/books/tutorial/networking/nifs/retriving.html 但 getDisplayName() getName() 不返回 SSID。有没有办法获得准确的 SSID?另外,我还尝试读取所有网络设备的 WiFi 信号强度,但找不到方法。谁能指导我从哪里获取所有这些信息(教程、代码示例等)?

java wifi ssid
3个回答
1
投票

使用纯 Java 无法完成此操作。 Java API 可以将您带到网络堆栈中的NetworkInterface 级别,但不能更低。当连接到 WiFi 网络时,所有 SSID、握手和安全性工作都在低于该级别的级别完成 - 即依赖于平台的驱动程序。 Java API(从 Java7 开始)不允许您更接近这些信息;为此,您必须使用一些依赖于平台的代码。


0
投票

你看到这个了吗jWlanScan


0
投票

这是代码示例,其中从 cmd 返回当前连接的无线 SSID

ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "netsh wlan show interfaces");    
builder.redirectErrorStream(true);
Process p = builder.start();

BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while (true) {
    line = r.readLine();
    if (line.contains("SSID")){
        // do something
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.