在Windows和Linux平台上使用Java获取网络信息

我需要在我的应用程序中使用的网络配置信息比java.net.NetworkInterface和java.net.InetAddress提供的信息更多.我想包括诸如子网,网关和DNS服务器之类的信息,但代码需要可移植到WindowsLinux平台.

我通过为Windows运行Runtime.getRuntime().exec(“ipconfig”)和为​​Linux运行Runtime.getRuntime().exec(“ifconfig”)并解析结果来研究它.也许有更好的方法来做这个或我可以使用的开源项目.

提前感谢任何可以引导我朝着正确方向前进的想法

最佳答案
如果您正在考虑更好,更强大的解决方案,您可能会使用SNMP(简单网络管理协议)的想法.有几个API可供使用,SNMP4J是最着名和开源的.因为多个支持SNMP操作系统甚至是交换机和路由器,在深度网络级统计中使用它可能是一个好主意.但是如果你想要一个更简单的解决方案,那么使用Sigar API,它支持许多操作系统,包括windows和linux.One Sigar的问题在于它是根据GPL许可的,禁止您将其部署在商业项目中.

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...