【发布时间】:2016-08-09 03:05:57
【问题描述】:
我正在构建一个跨平台运行的 Java 应用程序,这意味着它应该在 OS X 上运行。不幸的是,我对 Mac 世界有点陌生。
应用程序需要的东西之一是网络接口列表和一些关于它们的信息。因为我使用的是 Java,所以我只能访问有限数量的信息,然后必须依赖运行命令行应用程序并解析它们的输出。
当我在 Win / Linux 上运行时,这很容易。当我看到一个名为“wlan”的网络带有数字时,我知道它是无线的。 “eth”表示有线。
OS X 让事情变得更加困难。它似乎把一切都称为“en”。我意识到 en0 “几乎总是”将是无线的,但我怎么确定呢?如果有更多接口会发生什么? Thunderbolt 变成了以太网,我可以把很多东西挂在 USB 上。
如果我看到 en0、en1、en2、en3,我怎么知道什么是无线的,什么不是?
【问题讨论】:
-
你需要知道这个的根本原因是什么?
-
应用程序测试各种网络安全问题。我们需要做的第一件事就是向用户显示他连接到的网络接口列表,了解每个接口是有线还是无线很重要。
-
system_profiler的输出包含此内容。
标签: java macos networking