public static String localhost = "localhost";
public static String localhostIp = "127.0.0.1";
public static String localhostIpV6 = "0:0:0:0:0:0:0:1";
public static List<String> ipList = new ArrayList<String>();
static {
ipList.add(localhost);
ipList.add(localhostIp);
ipList.add(localhostIpV6);
try {
InetAddress address = InetAddress.getLocalHost();
ipList.add(address.getHostAddress());
ipList.add(address.getHostName());
} catch (Exception e) {
e.printStackTrace();
}
try{
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
NetworkInterface networkInterface;
Enumeration<InetAddress> inetAddresses;
InetAddress inetAddress;
String ip;
String name;
while (networkInterfaces.hasMoreElements()) {
networkInterface = networkInterfaces.nextElement();
inetAddresses = networkInterface.getInetAddresses();
while (inetAddresses.hasMoreElements()) {
inetAddress = inetAddresses.nextElement();
if (inetAddress != null && inetAddress instanceof Inet4Address) {
ip = inetAddress.getHostAddress();
name = inetAddress.getHostName();
ipList.add(ip);
ipList.add(name);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
for(String ipStr : ipList){
System.out.println("security filter ip: " + ipStr);
}
}
该代码段用于获取本地主机名、IPv4、IPv6地址,并遍历所有网络接口收集Inet4Address类型的IP地址,输出到控制台。程序首先添加了硬编码的IP和主机名,然后尝试获取本地主机的IP和主机名,最后枚举所有网络接口并添加IPv4地址和主机名到列表。
1870

被折叠的 条评论
为什么被折叠?



