JAVA获取本地的所有网卡IP地址列表

news/2025/1/15 14:37:34/文章来源:https://www.cnblogs.com/pxblog/p/18400960

 

 

 private static final String NETMASK = "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";private static final Pattern IP_PATTERN = Pattern.compile("^(?:" + NETMASK + "\\.){3}" + NETMASK + "$");public static final String LOCAL_IP = "127.0.0.1";/*** 获取本机的所有网卡IP列表  不包含127.0.0.1* @return 本机网卡的IP列表*/public static List<String> getServerIpList() {List<String> serverIpList = new ArrayList<>();try {// 获取所有网络接口(网卡)Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();// 遍历每个网络接口for (NetworkInterface networkInterface : Collections.list(interfaces)) {// 跳过回环接口和未激活的接口if (networkInterface.isLoopback() || !networkInterface.isUp()) {continue;}// 获取每个网络接口的 IP 地址Enumeration<InetAddress> inetAddresses = networkInterface.getInetAddresses();for (InetAddress inetAddress : Collections.list(inetAddresses)) {// 过滤掉IPv6地址(如果你只想要IPv4地址)if (inetAddress instanceof java.net.Inet4Address) {String ip = inetAddress.getHostAddress();if (!LOCAL_IP.equals(ip) && isIPv4Valid(ip)) {serverIpList.add(inetAddress.getHostAddress());}}}}} catch (SocketException e) {throw new RuntimeException("获取服务器网卡IP异常", e);}return serverIpList;}public static boolean isIPv4Valid(String ip) {return IP_PATTERN.matcher(ip).matches();}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/793242.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

9.30~9.5 9.6~9.8小集训

有困难自己解决,没困难创造困难8.30~9.1 给开学考试起了个一调的名 不懂我考这玩意的意义( 又不是放假前没考过 总不能是考验我两个月不学 whk 还能记住多少吧 😅 我高考前也给我俩月的假? 包摆烂的 语文英语先放一边 数学看到三角函数就给跳了,结果五道大题空了三道 😋…

关于PMOS与NMOS电流公式的方向问题

相关教材多提及NMOS,这里主要探讨PMOS电流方向的理解记忆。 首先理解大信号下的公式:对于NMOS,可以发现ID与电压的参考方向为由D(G)+S-,一致则公式前无需负号。而对于PMOS,不妨将NMOS的推导过程视为一个传函,对于NMOS认为输入为电子,对于PMOS认为输入为空穴,则等效于认…

从 SSM 到 Mamba2,Mamba 发展回溯

本文是 Mamba 阅读第一篇文章,本来想从三个问题出发(1)不同 SSM 模型的区别是什么?(2)Transformer 和 SSM 可以等效吗?什么情况下可以等效?(3)很多实验表明 Mamba1 和 Mamba2 并不是单纯替代关系[1],Mamba2 相比 Mamba1 的变化是什么?即 SSM 部分、Transformer 部分 以及…

CF1307(模拟赛记录)

比赛页面偶然发现一道做过的 G;C 的罚时:没开 longlong,谨记。 然后一个小时没想出 E ……E 题面: 在一年成功的牛奶生产后,Farmer John 奖励他的奶牛们它们最喜欢的美味的草。 在田里有 \(n\) 个单位的排成一行的草,每个单位的草有甜味 \(s_i\)。Farmer John 有 \(m\) 头…

学习记录-“unknown type name ‘HAL_StatusTypeDef’ ”报错

1:conf.h中用到的外设宏定义打开 2:#include "stm32g4xx_hal.h"放在最开头 如果有其他解决方法请增加

【待做】【Linux系列】使用fail2ban配置动态防火墙

一、安装二、测试三、基本配置四、相关命令原创 戒一双 LINUX开源玩家前面说的防火墙基本是静态的情况,在实际运行中我们可能需要动态调整防火墙策略,此时可以考虑使用Fail2ban。 Fail2ban 可以通过创建规则,自动更改防火墙配置,在尝试登录失败达到一定次数后禁止特定 IP,…

焦煤波浪 跌势快要结束了

如果走出这个形态 下周看止跌 开始震荡

洛谷 P5658 [CSP-S2019] 括号树

洛谷 P5658 [CSP-S2019] 括号树 题意 给定一棵树,每个点有一个括号 ( 或 )。 定义 \(s_i\) 表示 根节点到 \(i\) 每个点的括号组成的序列。 求每个 \(s_i\) 中合法括号子串的个数 \(f_i\)。 思路 定义 \(g_i\) 表示 \(s_i\) 中以 \(i\) 结尾的合法括号子串的个数。 有 \(f_i=f…

运输问题数学模型精解

运输问题(Transportation Problem)是运筹学中的经典问题之一,其历史可以追溯到19世纪中期。该问题最早由数学家和经济学家提出,目的是解决如何在需求和供给之间分配资源以最小化运输成本的问题。运输问题的数学模型最初由俄国数学家卡尔库尔肖夫(Karl Kulshov)在19世纪提…

基于视觉工具箱和背景差法的行人检测,行走轨迹跟踪,人员行走习惯统计matlab仿真

1.算法运行效果图预览 (完整程序运行后无水印) 在三维图中,幅度越大,则表示人员更习惯的行走路线。2.算法运行软件版本 matlab2022a3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频)for j=1:length(inds)% 调整边界框格式[R_,C_] = find(lb == inds(j)); upLPo…

CF1534(模拟赛记录)

比赛页面ABCD 都打的可以,然而 E 的 +10 直接葬送了大概率过的 F1 …… 先猜了个 \(n-k+1\) 的结论,但是没有写搜索查正确性(事实上确实不正确),于是两次罚时,第一次是交互格式错了。 然后又猜了个 \(\min(n-k+1,(n-1)/(k-1))\) 的结论,过了几个小的搜索数据(\(n\le 6\…