Apa yang setara dengan GNU / Linux dari "route get ..." BSD?

16

routePerintah BSD memiliki fitur yang akan menunjukkan rute apa yang akan dipilih untuk host yang diberikan. Sebagai contoh:

/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 

Saya kadang-kadang menemukan ini berguna jika saya secara manual mengacaukan tabel routing untuk memastikan bahwa aturan routing berfungsi seperti yang diharapkan.

Versi rute GNU tidak memiliki sub-perintah "get" yang sama. Apakah ada yang setara atau alternatif untuk GNU / Linux?

Mark E. Haase
sumber
1
Saya mencari / BSD / setara dengan ip ro tetapi halaman ini masih mencukupi :)
Benjamin Goodacre

Jawaban:

21

Ada

ip route get 74.125.137.100

tetapi tidak melakukan resolusi nama host (yang saya pikir adalah hal yang baik). Perintah ini biasanya tersedia dari paket iproute atau iproute2.

Philippe Gauthier
sumber
3
ip route get "$(dig google.com +short)"untuk resolusi nama host.
jordanm
5
@jordanm, Lebih mirip:dig google.com +short | xargs -tn1 ip route get
Stéphane Chazelas
1
@ StéphaneChazelas, tolong beri tahu saya perintah linux di atas ini membutuhkan internet atau mengambil hasil dari tabel routing / cache?
kd12
Perintah 'menggali' melakukan pencarian DNS. Itu mungkin memerlukan akses jaringan kecuali entri DNS ada di cache lokal.
WillW
> tetapi itu tidak melakukan resolusi nama host (yang saya pikir adalah hal yang baik) - peduli untuk menguraikan mengapa Anda berpikir ketidaknyamanan yang disebabkannya benar-benar berharga?
poige