如何使用java读取所有网卡

如何使用java读取所有网卡,java,linux,networking,Java,Linux,Networking,我想在我的系统中(使用java)查找所有网卡和网络接口。因此,更确切地说,我想从ifconfig命令(在Linux中)获得整个输出,但要使用Java。我知道是否使用了NetworkInterface。getNetworkInterfaces()将只返回已配置的网络接口 我在林克找到了一个粗略的方法。没关系,但是如果有其他的,我很感兴趣 这方面的可能性。对于Windows,可以使用Runtime.getRuntime().exec(“ipconfig”)对于linux,可以使用Runtime.ge

我想在我的系统中(使用java)查找所有网卡和网络接口。因此,更确切地说,我想从
ifconfig
命令(在Linux中)获得整个输出,但要使用Java。我知道是否使用了
NetworkInterface。getNetworkInterfaces()
将只返回已配置的网络接口

我在林克找到了一个粗略的方法。没关系,但是如果有其他的,我很感兴趣
这方面的可能性。

对于Windows,可以使用
Runtime.getRuntime().exec(“ipconfig”)
对于linux,可以使用
Runtime.getRuntime().exec(“ifconfig”)
在java中获得ifconfig结果


在这里,用100%Java无法获得血淋淋的细节。您可以执行命令或编写JNI。

您可以用java执行系统命令,@fsonmezay是的,我知道,正如链接所建议的,但我想知道是否有一个技巧可以让我做到这一点。类似于NetworkInterface的内容。getNetworkInterfaces()getNetworkInterfaces()还应返回带有关闭状态的接口。还有没有IP地址的接口。奇怪的是,我只是在windows上试试。也许它在Linux中的工作方式不同。类中有isUp()函数。因此,如果它不返回下一个接口,则会更加难听。@User1是的,您是对的,但是如果您有一个尚未配置的网卡,则在getNetworkInterfaces()方法返回的枚举中不会看到它。这就是我所说的。参见为其撰写的评论fsonmezay@bmargulies你为什么要用这样一种固执己见的说法来编辑别人的答案?请留下评论。在结束另一个问题后,我添加了一个事实,以使答案更加完整,这是一个重复的问题。你可以支持你的说法,即我的陈述仅仅是一种意见,而另一种回答提供了相反的事实。如果你这么做了,我会把你的答案投上一票,然后回滚我的编辑。