java 获取网络接口信息,看这一篇就行了 | Java工具类

2023-11-07 11:40

本文主要是介绍java 获取网络接口信息,看这一篇就行了 | Java工具类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

代码

总结


前言

查看本机的网络接口信息,本文有详细的介绍哦。

代码

不废话,上代码。

package com.hy.csdn.tools;import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;/*** @Program: hy-utils @ClassName: StuNetworkInterface @Author: huyi @Date: 2020-09-20* 23:48 @Description: 网络接口 @Version: V1.0*/
public class NetworkInterfaceUtil {public static void main(String[] args) {try {Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();while (networkInterfaces.hasMoreElements()) {NetworkInterface networkInterface = networkInterfaces.nextElement();System.out.println("getName获得网络设备现实名称=" + networkInterface.getName());System.out.println("getDisplayName获得网络设备现实名称=" + networkInterface.getDisplayName());System.out.println("getIndex获得网络接口的索引=" + networkInterface.getIndex());System.out.println("isUp是否已经开启并运行=" + networkInterface.isUp());System.out.println("isLoopback是否为回调接口=" + networkInterface.isLoopback());System.out.println("getMTU获得最大传输单元=" + networkInterface.getMTU());Enumeration<InetAddress> enumerations = networkInterface.getInetAddresses();while (enumerations.hasMoreElements()) {InetAddress inetAddress = enumerations.nextElement();System.out.println("获取此IP地址的完全限定域名=" + inetAddress.getCanonicalHostName());System.out.println("获取此IP地址的主机名=" + inetAddress.getHostName());System.out.println("获取此IP地址的字符串=" + inetAddress.getHostAddress());System.out.print("getAddress返回此InetAddress对象的原始IP地址=");byte[] addressByte = inetAddress.getAddress();for (byte b : addressByte) {System.out.print(b + " ");}System.out.println();}System.out.println();}} catch (SocketException e) {e.printStackTrace();}}
}

看看执行结果。

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/bin/java -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/lib/tools.jar:/Users/huyi/idea/csdn/target/classes:/Users/huyi/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.5.5/spring-boot-starter-web-2.5.5.jar:/Users/huyi/.m2/repository/org/springframework/boot/spring-boot-starter/2.5.5/spring-boot-starter-2.5.5.jar:/Users/huyi/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.5.5/spring-boot-starter-logging-2.5.5.jar:/Users/huyi/.m2/repository/ch/qos/logback/logback-classic/1.2.6/logback-classic-1.2.6.jar:/Users/huyi/.m2/repository/ch/qos/logback/logback-core/1.2.6/logback-core-1.2.6.jar:/Users/huyi/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.14.1/log4j-to-slf4j-2.14.1.jar:/Users/huyi/.m2/repository/org/apache/logging/log4j/log4j-api/2.14.1/log4j-api-2.14.1.jar:/Users/huyi/.m2/repository/org/slf4j/jul-to-slf4j/1.7.32/jul-to-slf4j-1.7.32.jar:/Users/huyi/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar:/Users/huyi/.m2/repository/org/yaml/snakeyaml/1.28/snakeyaml-1.28.jar:/Users/huyi/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.5.5/spring-boot-starter-json-2.5.5.jar:/Users/huyi/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.12.5/jackson-databind-2.12.5.jar:/Users/huyi/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.12.5/jackson-annotations-2.12.5.jar:/Users/huyi/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.12.5/jackson-core-2.12.5.jar:/Users/huyi/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.12.5/jackson-datatype-jdk8-2.12.5.jar:/Users/huyi/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.12.5/jackson-datatype-jsr310-2.12.5.jar:/Users/huyi/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.12.5/jackson-module-parameter-names-2.12.5.jar:/Users/huyi/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.5.5/spring-boot-starter-tomcat-2.5.5.jar:/Users/huyi/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.53/tomcat-embed-core-9.0.53.jar:/Users/huyi/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.53/tomcat-embed-el-9.0.53.jar:/Users/huyi/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.53/tomcat-embed-websocket-9.0.53.jar:/Users/huyi/.m2/repository/org/springframework/spring-web/5.3.10/spring-web-5.3.10.jar:/Users/huyi/.m2/repository/org/springframework/spring-beans/5.3.10/spring-beans-5.3.10.jar:/Users/huyi/.m2/repository/org/springframework/spring-webmvc/5.3.10/spring-webmvc-5.3.10.jar:/Users/huyi/.m2/repository/org/springframework/spring-aop/5.3.10/spring-aop-5.3.10.jar:/Users/huyi/.m2/repository/org/springframework/spring-context/5.3.10/spring-context-5.3.10.jar:/Users/huyi/.m2/repository/org/springframework/spring-expression/5.3.10/spring-expression-5.3.10.jar:/Users/huyi/.m2/repository/org/springframework/boot/spring-boot-devtools/2.5.5/spring-boot-devtools-2.5.5.jar:/Users/huyi/.m2/repository/org/springframework/boot/spring-boot/2.5.5/spring-boot-2.5.5.jar:/Users/huyi/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.5.5/spring-boot-autoconfigure-2.5.5.jar:/Users/huyi/.m2/repository/org/springframework/boot/spring-boot-configuration-processor/2.5.5/spring-boot-configuration-processor-2.5.5.jar:/Users/huyi/.m2/repository/org/projectlombok/lombok/1.18.20/lombok-1.18.20.jar:/Users/huyi/.m2/repository/org/slf4j/slf4j-api/1.7.32/slf4j-api-1.7.32.jar:/Users/huyi/.m2/repository/org/springframework/spring-core/5.3.10/spring-core-5.3.10.jar:/Users/huyi/.m2/repository/org/springframework/spring-jcl/5.3.10/spring-jcl-5.3.10.jar:/Users/huyi/.m2/repository/com/aliyun/oss/aliyun-sdk-oss/3.10.2/aliyun-sdk-oss-3.10.2.jar:/Users/huyi/.m2/repository/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar:/Users/huyi/.m2/repository/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar:/Users/huyi/.m2/repository/commons-codec/commons-codec/1.15/commons-codec-1.15.jar:/Users/huyi/.m2/repository/org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar:/Users/huyi/.m2/repository/org/codehaus/jettison/jettison/1.1/jettison-1.1.jar:/Users/huyi/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar:/Users/huyi/.m2/repository/com/aliyun/aliyun-java-sdk-core/3.4.0/aliyun-java-sdk-core-3.4.0.jar:/Users/huyi/.m2/repository/com/aliyun/aliyun-java-sdk-ram/3.0.0/aliyun-java-sdk-ram-3.0.0.jar:/Users/huyi/.m2/repository/com/aliyun/aliyun-java-sdk-sts/3.0.0/aliyun-java-sdk-sts-3.0.0.jar:/Users/huyi/.m2/repository/com/aliyun/aliyun-java-sdk-ecs/4.2.0/aliyun-java-sdk-ecs-4.2.0.jar:/Users/huyi/.m2/repository/com/aliyun/aliyun-java-sdk-kms/2.7.0/aliyun-java-sdk-kms-2.7.0.jar:/Users/huyi/.m2/repository/com/google/code/gson/gson/2.8.8/gson-2.8.8.jar:/Users/huyi/.m2/repository/cn/hutool/hutool-all/5.7.15/hutool-all-5.7.15.jar com.hy.csdn.tools.NetworkInterfaceUtil
getName获得网络设备现实名称=utun1
getDisplayName获得网络设备现实名称=utun1
getIndex获得网络接口的索引=12
isUp是否已经开启并运行=true
isLoopback是否为回调接口=false
getMTU获得最大传输单元=2000
获取此IP地址的完全限定域名=fe80:0:0:0:63a3:85eb:e7ec:770d%utun1
获取此IP地址的主机名=fe80:0:0:0:63a3:85eb:e7ec:770d%utun1
获取此IP地址的字符串=fe80:0:0:0:63a3:85eb:e7ec:770d%utun1
getAddress返回此InetAddress对象的原始IP地址=-2 -128 0 0 0 0 0 0 99 -93 -123 -21 -25 -20 119 13 getName获得网络设备现实名称=utun0
getDisplayName获得网络设备现实名称=utun0
getIndex获得网络接口的索引=11
isUp是否已经开启并运行=true
isLoopback是否为回调接口=false
getMTU获得最大传输单元=1380
获取此IP地址的完全限定域名=fe80:0:0:0:3b2:454d:40f6:fa91%utun0
获取此IP地址的主机名=fe80:0:0:0:3b2:454d:40f6:fa91%utun0
获取此IP地址的字符串=fe80:0:0:0:3b2:454d:40f6:fa91%utun0
getAddress返回此InetAddress对象的原始IP地址=-2 -128 0 0 0 0 0 0 3 -78 69 77 64 -10 -6 -111 getName获得网络设备现实名称=llw0
getDisplayName获得网络设备现实名称=llw0
getIndex获得网络接口的索引=10
isUp是否已经开启并运行=true
isLoopback是否为回调接口=false
getMTU获得最大传输单元=1500
获取此IP地址的完全限定域名=fe80:0:0:0:1c5b:adff:fec2:41ef%llw0
获取此IP地址的主机名=fe80:0:0:0:1c5b:adff:fec2:41ef%llw0
获取此IP地址的字符串=fe80:0:0:0:1c5b:adff:fec2:41ef%llw0
getAddress返回此InetAddress对象的原始IP地址=-2 -128 0 0 0 0 0 0 28 91 -83 -1 -2 -62 65 -17 getName获得网络设备现实名称=awdl0
getDisplayName获得网络设备现实名称=awdl0
getIndex获得网络接口的索引=9
isUp是否已经开启并运行=true
isLoopback是否为回调接口=false
getMTU获得最大传输单元=1484
获取此IP地址的完全限定域名=fe80:0:0:0:1c5b:adff:fec2:41ef%awdl0
获取此IP地址的主机名=fe80:0:0:0:1c5b:adff:fec2:41ef%awdl0
获取此IP地址的字符串=fe80:0:0:0:1c5b:adff:fec2:41ef%awdl0
getAddress返回此InetAddress对象的原始IP地址=-2 -128 0 0 0 0 0 0 28 91 -83 -1 -2 -62 65 -17 getName获得网络设备现实名称=en0
getDisplayName获得网络设备现实名称=en0
getIndex获得网络接口的索引=4
isUp是否已经开启并运行=true
isLoopback是否为回调接口=false
getMTU获得最大传输单元=1500
获取此IP地址的完全限定域名=fe80:0:0:0:df:d7c9:cd1:81e3%en0
获取此IP地址的主机名=fe80:0:0:0:df:d7c9:cd1:81e3%en0
获取此IP地址的字符串=fe80:0:0:0:df:d7c9:cd1:81e3%en0
getAddress返回此InetAddress对象的原始IP地址=-2 -128 0 0 0 0 0 0 0 -33 -41 -55 12 -47 -127 -29 
获取此IP地址的完全限定域名=192.168.3.107
获取此IP地址的主机名=192.168.3.107
获取此IP地址的字符串=192.168.3.107
getAddress返回此InetAddress对象的原始IP地址=-64 -88 3 107 getName获得网络设备现实名称=lo0
getDisplayName获得网络设备现实名称=lo0
getIndex获得网络接口的索引=1
isUp是否已经开启并运行=true
isLoopback是否为回调接口=true
getMTU获得最大传输单元=16384
获取此IP地址的完全限定域名=fe80:0:0:0:0:0:0:1%lo0
获取此IP地址的主机名=fe80:0:0:0:0:0:0:1%lo0
获取此IP地址的字符串=fe80:0:0:0:0:0:0:1%lo0
getAddress返回此InetAddress对象的原始IP地址=-2 -128 0 0 0 0 0 0 0 0 0 0 0 0 0 1 
获取此IP地址的完全限定域名=localhost
获取此IP地址的主机名=localhost
获取此IP地址的字符串=0:0:0:0:0:0:0:1
getAddress返回此InetAddress对象的原始IP地址=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 
获取此IP地址的完全限定域名=localhost
获取此IP地址的主机名=localhost
获取此IP地址的字符串=127.0.0.1
getAddress返回此InetAddress对象的原始IP地址=127 0 0 1 Process finished with exit code 0

总结

认定一件事,即使拿出十分力气都无法完成,也要拿出十二分力气去努力。

如果本文对你有用的话,别吝啬你的赞,Come on。

 

这篇关于java 获取网络接口信息,看这一篇就行了 | Java工具类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/363363

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只