在java中查找给定IP地址或MAC地址的计算机名、操作系统名

在java中查找给定IP地址或MAC地址的计算机名、操作系统名,java,ip,mac-address,Java,Ip,Mac Address,有没有办法找到: 计算机名 操作系统 硬件类型(笔记本电脑或台式机) java中给定IP或MAC地址的。我被指派了一项任务 获取数据。如果您知道任何代码示例,我将非常感谢 可以使用的库。例如: 如果我使用同一网络上计算机的IP地址。我想知道计算机的名称,他们使用的操作系统以及其他硬件元数据(如果可能的话) import java.util.Map; public class EnvMap { public static void main (String[] args) {

有没有办法找到:

  • 计算机名
  • 操作系统
  • 硬件类型(笔记本电脑或台式机)
  • 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));
            }
        }
    }
    
    关于MAC地址和IP地址,您有两个选项:

    使用


    或者使用ipconfig/ifconfig输出,但是我将把选择权留给您来获取mac

    正确的方法是使用该协议,但该协议位于Java不提供直接API访问的位置。所以,你必须去本土寻找一个好的解决方案。使用以获得对此的访问权限

    获取计算机名和操作系统


    这将需要您使用一些提供该数据的协议。提供此类数据。

    如果您试图查找与IP地址关联的主机名,请使用,但这仅在本地网络注册了反向DNS的主机时才起作用。查找另一台主机的操作系统需要您运行的服务来告诉您,或者是Java无法提供且不完全可靠的服务。

    笔记本电脑与台式机有何不同?你试过谷歌搜索吗?看看
    System.getProperties()
    。不是,只是你电脑的数据。这是一个额外的问题,你需要连接到那台计算机以了解信息…@Assylas他想只使用ip获取其他计算机的信息…,所以你的代码,只给我我的系统信息。如果我想在同一网络上使用计算机的IP地址。我想知道电脑的名字和他们使用的操作系统你不认为我在问问题之前搜索过吗?谢谢。。。你不知道一种通过mac地址获取制造商名称的方法吗
    COMPUTERNAME
    OS
    
    InetAddress ip;
      try {
    
        ip = InetAddress.getLocalHost();
        System.out.println("Current IP address : " + ip.getHostAddress());
    
      } catch (UnknownHostException e) {
    
        e.e.printStackTrace();
    
      }