使用Java获取无线网络的SSID和其他信息

时间:2009-11-20 18:59:56

标签: java wireless wifi

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

由于

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您是否看到此jWlanScan

答案 2 :(得分:-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
    }
}