Ich bin mir sicher, dass dies schon einmal gefragt und beantwortet wurde, aber ich konnte es nicht finden. Hoffentlich verbindet dies zumindest jemanden mit dem richtigen Ort.
Ich möchte meine lokale Schnittstelle und IP-Adresse herausfinden, die verwendet werden, um einen bestimmten Host zu erreichen. Wenn zum Beispiel 3 Adapter an meine Box angeschlossen waren und alle drei in verschiedene Netzwerke gingen, würde ich gerne wissen, welche der drei (insbesondere die IP-Adresse) verwendet wird, um my.local.intranet (in diesem Fall) zu erreichen In diesem Fall wäre es eine VPN-Tunnelschnittstelle. Ich vermute, dass dies ein Job für ifconfig oder traceroute ist, aber ich konnte nicht die richtigen Schalter finden.
Ich verwende OSX 10.7 (Darwin)
BEARBEITEN: Für einen einfachen Zugriff habe ich Folgendes geschrieben, um den Trick zu erledigen:
ifconfig `route get <host> | grep "interface: " | sed "s/[^:]*: \(.*\)/\1/"` | grep "inet " | sed "s/.*inet \([0-9.]*\) .*/\1/"
Verbesserungen / Optimierungen sind willkommen.
ifconfig `route get <host> | grep "interface: " | sed "s/[^:]*: \(.*\)/\1/"` | grep "inet " | sed "s/.*inet \([0-9.]*\) .*/\1/"
. Dies funktioniert, aber Vorschläge / Optimierungen sind willkommen.Route -n erhalten www.yahoo.com
Ich verwende os x 10.6.8
quelle
Sie können
ip route get
die Route suchen und ausgeben, die für ein bestimmtes Ziel verwendet werden würde. Die Ausgabe sollte die Schnittstelle und die Quelladresse enthalten.quelle
ip
hier. = (Ich bin nicht sicher, ob dies korrekt ist, aber netstat könnte es tun. Es zeigt die lokale Adresse der hergestellten Verbindungen.
quelle