3

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

谢谢

4

3 回答 3

1

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

于 2012-10-08T16:17:04.800 回答
0

你看到这个jWlanScan了吗

于 2009-11-20T19:08:28.800 回答
-1

这是从 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
    }
}
于 2014-12-03T12:56:58.583 回答