有没有办法找到:
- 计算机名称
- 操作系统
- 硬件类型(笔记本电脑或台式机)
java中给定的IP或MAC地址。我一直在接受一项任务来获取这些数据。我真的很感激代码示例,或者如果您知道任何可以使用的库。例如:
如果我要使用同一网络上计算机的 IP 地址。如果可能的话,我想知道计算机的名称以及他们正在使用的操作系统以及其他硬件元数据。
有没有办法找到:
java中给定的IP或MAC地址。我一直在接受一项任务来获取这些数据。我真的很感激代码示例,或者如果您知道任何可以使用的库。例如:
如果我要使用同一网络上计算机的 IP 地址。如果可能的话,我想知道计算机的名称以及他们正在使用的操作系统以及其他硬件元数据。
import java.util.Map;
public class EnvMap {
public static void main (String[] args) {
Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
System.out.format("%s=%s%n",
envName,
env.get(envName));
}
}
}
我想你需要以下属性:
COMPUTERNAME
OS
关于 MAC 地址和 IP 地址,您有 2 个选项:
利用
InetAddress ip;
try {
ip = InetAddress.getLocalHost();
System.out.println("Current IP address : " + ip.getHostAddress());
} catch (UnknownHostException e) {
e.e.printStackTrace();
}
或使用 ipconfig/ifconfig 输出,但我会把选择权留给你
如果您试图找出与 IP 地址关联的主机名,请使用InetAddress#getHostName(),尽管这仅在本地网络具有注册反向 DNS 的主机时才有效。找出另一台主机的操作系统需要您运行的服务告诉您或通过指纹进行推断,这在 Java 中不可用,也不完全可靠。