Qual è l'equivalente GNU / Linux di "route get ..." di BSD?


16

Il routecomando BSD ha una funzione che mostrerà quale percorso sarà selezionato per un determinato host. Per esempio:

/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 

A volte lo trovo utile se sto scherzando manualmente con le tabelle di routing per assicurarmi che le regole di routing funzionino come previsto.

La versione GNU di route non ha questo stesso sottocomando "get". C'è qualche equivalente o alternativa per GNU / Linux?


1
Stavo cercando il / BSD / equivalente di ip ro ma questa pagina è ancora sufficiente :)
Benjamin Goodacre,

Risposte:


21

C'è

ip route get 74.125.137.100

ma non risolve il nome host (che penso sia una buona cosa). Il comando è generalmente disponibile dai pacchetti iproute o iproute2.


3
ip route get "$(dig google.com +short)"per la risoluzione del nome host.
Giordania,

5
@jordanm, Più come:dig google.com +short | xargs -tn1 ip route get
Stéphane Chazelas,

1
@ StéphaneChazelas, per favore fatemi sapere questo sopra il comando linux ha richiesto una connessione Internet o recupera il risultato da qualsiasi tabella / cache di routing?
kd12,

Il comando 'dig' esegue una ricerca DNS. Ciò potrebbe richiedere l'accesso alla rete a meno che la voce DNS non sia nella cache locale.
WillW

> ma non risolve il nome host (che penso sia una buona cosa) - ti interessa elaborare perché pensi che l'inconveniente che causa valga davvero la pena?
poige
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.