Rob H Asked: 2013-08-18 09:58:46 +0800 CST2013-08-18 09:58:46 +0800 CST 2013-08-18 09:58:46 +0800 CST 查找路由到特定主机的接口 772 在多宿主 Linux 机器上,如何找出将使用哪个网络接口将数据包发送到特定主机?我需要以编程方式执行此操作,并且我不想自己解析和解释路由表。 linux 3 个回答 Voted Best Answer Michael Hampton 2013-08-18T10:03:28+08:002013-08-18T10:03:28+08:00 用于ip route此。例如: ip route show to match 198.252.206.16 Alexey 2014-11-18T07:03:03+08:002014-11-18T07:03:03+08:00 更短的选择: ip route get 172.29.42.94 mivk 2014-07-07T05:42:46+08:002014-07-07T05:42:46+08:00 是的,正如迈克尔汉普顿建议的那样,使用ip route. 如果你只想要接口,使用这个 ip -o route get $ip | perl -nle 'if ( /dev\s+(\S+)/ ) {print $1}' 例如: # ip=8.8.8.8 # iface=$( ip -o route get $ip | perl -nle 'if ( /dev\s+(\S+)/ ) {print $1}' ) # echo $iface eth1
用于
ip route
此。例如:更短的选择:
是的,正如迈克尔汉普顿建议的那样,使用
ip route
. 如果你只想要接口,使用这个例如: