【问题标题】:OSX: Check if the default interface is physical or virtualOSX:检查默认接口是物理的还是虚拟的
【发布时间】:2016-03-18 01:49:49
【问题描述】:

在 OSX 上是否有办法查看默认接口是实际的物理接口还是虚拟接口(例如连接到 VPN 时)?

本质上,我试图找出一个接口属性,它可以判断默认接口是虚拟的还是物理的。我们可以从scutil系统配置实用框架中读取接口属性。

【问题讨论】:

  • 在您的 OS X 实例上使用route 访问某个地址时,可能检查正在使用哪个接口;这就是您所说的该实例的“默认界面”吗? route get google.com | grep interface:例如en0en1 将对应于物理接口(例如以太网/机场),而例如vmnet1 对应一个 VMware 虚拟接口。但是,这需要您创建一个关于哪些接口属性映射到物理/虚拟的映射。
  • 如何定义“物理接口”?例如……通过 USB 连接的以太网接口是否被视为“物理接口”? (有人可能会说 USB 是物理的,但网络连接不是)。更进一步:通过蓝牙连接的网络接口(一些智能手机就是这样呈现自己的)是“物理接口”吗?

标签: macos networking network-programming


【解决方案1】:

听起来您将虚拟接口定义为 VPN 连接,好的。但是default interface 的概念取决于您尝试与之通信的特定地址,这意味着与 google.com 或 abc.com 或 yourcompany.com 通信时默认界面可能不同


在 Mac OS X 终端中,您可以针对有意义的事情运行route 命令,在本例中我将使用abc.com

route get abc.com | grep interface

对我来说,使用 wifi 报告:

  interface: en0

然后,当通过 wifi 连接到 VPN 时,它会报告:

  interface: ppp0

请注意,在此测试中,我使用了 VPN 选项“通过 vpn 连接发送所有流量”,但是当我将其关闭时,它会报告 interface: en0,因为 abc.com 未定义为我的 VPN 的远程网络。这就是为什么在此测试中使用有意义的地址很重要的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-07
    • 2012-05-16
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多