我确定之前有人问过并回答过这个问题,但我找不到它,所以希望这至少能将某人链接到正确的地方。
我想找出我的本地接口和用于到达某个主机的 ip 地址。例如,如果我有 3 个适配器连接到我的盒子,并且它们都连接到不同的网络,我想知道这三个适配器中的哪一个(特别是它的 IP 地址)用于访问 my.local.intranet(在这个在这种情况下,它将是一个 vpn 隧道接口)。我怀疑这是 ifconfig 或 traceroute 的工作,但我一直无法找到正确的开关。
我正在运行 OSX 10.7 (Darwin)
编辑:为了方便访问,这是我最终写的来完成技巧的内容:
ifconfig `route get <host> | grep "interface: " | sed "s/[^:]*: \(.*\)/\1/"` | grep "inet " | sed "s/.*inet \([0-9.]*\) .*/\1/"
欢迎任何改进/优化。