Java获取网卡信息详解编程语言

InterfaceAddress 类表示一个由名称和分配给此接口的 IP 地址列表组成的网络接口。它用于标识加入多播组的本地接口。 接口通常是按名称(如 “le0″)区分的。

NetworkParameterDemo.java

import java.net.InterfaceAddress; 
import java.net.NetworkInterface; 
import java.net.SocketException; 
import java.util.Enumeration; 
import java.util.Iterator; 
import java.util.List; 
 
public class NetworkParameterDemo { 
  public static void main(String[] args) throws Exception { 
    Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); 
    while (en.hasMoreElements()) { 
      NetworkInterface ni = en.nextElement(); 
      printParameter(ni); 
 
    } 
  } 
 
  public static void printParameter(NetworkInterface ni) throws SocketException { 
    System.out.println(" Name = " + ni.getName()); 
    System.out.println(" Display Name = " + ni.getDisplayName()); 
    System.out.println(" Is up = " + ni.isUp()); 
    System.out.println(" Support multicast = " + ni.supportsMulticast()); 
    System.out.println(" Is loopback = " + ni.isLoopback()); 
    System.out.println(" Is virtual = " + ni.isVirtual()); 
    System.out.println(" Is point to point = " + ni.isPointToPoint()); 
    System.out.println(" Hardware address = " + ni.getHardwareAddress()); 
    System.out.println(" MTU = " + ni.getMTU()); 
 
    System.out.println("/nList of Interface Addresses:"); 
    List<InterfaceAddress> list = ni.getInterfaceAddresses(); 
    Iterator<InterfaceAddress> it = list.iterator(); 
 
    while (it.hasNext()) { 
      InterfaceAddress ia = it.next(); 
      System.out.println(" Address = " + ia.getAddress()); 
      System.out.println(" Broadcast = " + ia.getBroadcast()); 
      System.out.println(" Network prefix length = " + ia.getNetworkPrefixLength()); 
      System.out.println(""); 
    } 
  } 
}

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10266.html

(0)
上一篇 2021年7月19日 10:09
下一篇 2021年7月19日 10:09

相关推荐

发表回复

登录后才能评论