获取用于连接到特定主机的接口和IP地址(ip)

Modified on: Mon, 20 May 2019 16:00:02 +0800

我确信之前已经被问过并回答了,但是我找不到它,所以希望这至少可以将某人联系到正确的地方。

我想找出用于访问某个主机的本地接口和IP地址。例如,如果我有3个适配器连接到我的盒子,他们三个都去了不同的网络,我想知道三个中的哪一个(具体来说,它的IP地址)用于到达my.local.intranet(在此case,它将是一个vpn隧道接口)。我怀疑这是ifconfig或traceroute的工作,但我找不到正确的开关。

我正在运行OSX 10.7(达尔文)

编辑:为了方便访问,这就是我最后写完来完成这个诀窍的事情:

ifconfig `route get <host> | grep "interface: " | sed "s/[^:]*: \(.*\)/\1/"` | grep "inet " | sed "s/.*inet \([0-9.]*\) .*/\1/"

欢迎任何改进/优化。

作者:,umop

最佳答案

您可以尝试“路由”打印您的路由表,它将显示各种接口的目标网络和网关。

如果IP地址无法帮助您轻松确定界面,请在运行路径后运行“traceroute”,查看第一跳并将其与“route”中的相关网关进行比较,然后瞧 - 这就是您的界面。

#route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 145.67.4.0 switch47 255.255.255.0 U 0 0 eth0 192.168.1.0 localrouter 255.255.255.0 U 0 0 eth1 #traceroute &lt;destination&gt; 1 switch47.ba.foo.com (145.67.4.1) 0.5 ms ..... 2 xxxxx.xxx.xxxx (xxx.xxx.xxx.xxx) 0.Xms. ...

作者:,Univ426

相关问答

添加新评论