Was ist das GNU / Linux-Äquivalent zu BSDs "route get ..."?


16

Der BSD- routeBefehl verfügt über eine Funktion, die anzeigt, welche Route für einen bestimmten Host ausgewählt wird. Beispielsweise:

/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 

Ich finde dies gelegentlich nützlich, wenn ich manuell mit Routingtabellen experimentiere, um sicherzustellen, dass die Routingregeln wie erwartet funktionieren.

Die GNU-Version von route hat nicht denselben Unterbefehl "get". Gibt es ein Äquivalent oder eine Alternative für GNU / Linux?


1
Ich habe nach / BSD / äquivalent von ip ro gesucht, aber diese Seite reicht immer noch :)
— Benjamin Goodacre

Antworten:


21

Es gibt

ip route get 74.125.137.100

Aber es löst keine Hostnamen auf (was ich für eine gute Sache halte). Der Befehl ist normalerweise in iproute- oder iproute2-Paketen verfügbar.


3
ip route get "$(dig google.com +short)"für die Auflösung von Hostnamen.
— Jordanien

5
@jordanm, eher wie:dig google.com +short | xargs -tn1 ip route get
— Stéphane Chazelas

1
@ StéphaneChazelas, bitte lassen Sie mich wissen, dass für diesen obigen Linux-Befehl ein Internet erforderlich ist oder er das Ergebnis aus einer beliebigen Routing-Tabelle / einem Cache abruft.
— kd12

Der Befehl 'dig' führt eine DNS-Suche durch. Dies erfordert möglicherweise einen Netzwerkzugriff, es sei denn, der DNS-Eintrag befindet sich im lokalen Cache.
— WillW

> aber es löst keine Hostnamen auf (was ich für eine gute Sache halte) - ist es Ihnen wichtig zu erklären, warum Sie der Meinung sind, dass die dadurch verursachten Unannehmlichkeiten wirklich etwas wert sind?
— Poige
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.