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.