GNU / Linux与BSD的“ route get…”等效吗?


16

BSD route命令具有一项功能,该功能将显示将为给定主机选择的路由。例如:

/Users/mhaase $ route get google.com
   route to: iad23s07-in-f8.1e100.net
destination: iad23s07-in-f8.1e100.net
    gateway: 10.36.13.1
  interface: en0
      flags: <UP,GATEWAY,HOST,DONE,WASCLONED,IFSCOPE,IFREF>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0      1500         0 

如果我手动弄乱路由表以确保路由规则按预期工作,我有时会发现这很有用。

GNU版本的route没有相同的“ get”子命令。GNU / Linux是否有等效或替代的选择?


1
我正在寻找ip ro的/ BSD /等价物,但此页面仍然足够:)
Benjamin Goodacre 16/02/17

Answers:


21

ip route get 74.125.137.100

但它不执行主机名解析(我认为这是一件好事)。该命令通常可从iproute或iproute2软件包中获得。


3
ip route get "$(dig google.com +short)"用于主机名解析。
jordanm

5
@jordanm,更多类似:dig google.com +short | xargs -tn1 ip route get
斯特凡Chazelas

1
@StéphaneChazelas,请让我知道以上linux命令需要互联网,或者它从任何路由表/缓存获取结果?
kd12

命令“ dig”执行DNS查找。除非DNS条目位于本地缓存中,否则可能需要网络访问。
WillW

>但它不执行主机名解析(我认为这是一件好事)–请详细说明为什么您认为它带来的不便真的值得吗?
poige
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.