繁体   English   中英

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

[英]Getting SSID and other information of a wireless network in Java

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

谢谢

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

你看到这个jWlanScan了吗

这是代码示例,其中从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
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM