Der Unix-Befehl traceroute
verfolgt die IP-Adressen der Knoten von einem Quellknoten zu einem Zielknoten. Jeder Knoten dazwischen hat eine eingehende und eine ausgehende Schnittstelle.
Bei Ausführung traceroute -n dst
von src
werden die IP-Adressen von src, dst und allen eingehenden Schnittstellen der dazwischen liegenden Hops angezeigt.
Aber wie kann man die ausgehenden IP-Adressen verfolgen?
Aktualisieren
Ich habe den ping -R
Vorschlag ausprobiert , aber er scheint nicht zu funktionieren. Dies ist die Traceroute zu einem öffentlichen Webserver:
$ ping -n -c 1 -R 212.227.222.9 PING 212.227.222.9 (212.227.222.9) 56 (124) Datenbytes. 64 Bytes von 212.227.222.9: icmp_req = 1 ttl = 57 Zeit = 47,4 ms RR: 192.168.2.111 169.254.1.1 87.186.224.94 62.154.76.34 62.154.12.175 212.227.117.13 212.227.117.8 10.71.3.253 212.227.222.9 --- 212.227.222.9 Ping-Statistiken --- 1 gesendete Pakete, 1 empfangene, 0% Paketverlust, Zeit 0 ms rtt min / avg / max / mdev = 47,441 / 47,441 / 47,441 / 0,000 ms
Und dies ist die IP-Adresse meiner DFÜ-Verbindung.
$ curl -s https://toolbox.googleapps.com/apps/browserinfo/info/ | jq -r .remoteAddr 93.192.75.247
Es wurde jedoch nicht vom Ping-Befehl aufgezeichnet. Was kann der Grund sein?
ping
traceroute
ceving
quelle
quelle
curl ifconfig.me
. Einfachste Sache im Internet. Hände runter.Antworten:
Ich bin nicht genau die Antwort auf Ihre Frage, aber das ist eine einfache (aber begrenzte) Möglichkeit, (in bestimmten Fällen) das zu tun, was Sie wollen. Ich poste die Option -R der Ping-Manpage:
Sie können also auch den Rückweg von ECHO_REQUEST sehen, dh nicht die Exit-Schnittstelle (nach der Sie fragen), es sei denn, der ausgehende Pfad ist der gleiche wie der Rückweg. Nur in diesem Fall ist der Rückgabepfad die IP-Adresse der ausgehenden Schnittstelle, nach der Sie fragen.
Das ist ein echtes Beispiel in meinem Internetprovider-Netz, vielleicht nicht so klar, aber ich habe gerade keinen Router, um mich miteinander zu verbinden :)
quelle
-R
Option ausprobiert . Der vierte Sprung war der erste, der die Anfrage beantwortete. Die Antwort enthält jedoch nicht meine öffentliche Adresse. Und obwohl es nur der vierte Sprung war, enthält die Antwort 9 Adressen.ping -R
soll nur für sehr begrenzten Hopfen nützlich sein. Ich sage vorher, das ist ein eingeschränkter Wegtraceroute 212.227.222.9
und dann einenping -R
bis zum dritten Hop, den du in der Traceroute gefunden hast. Auf diese Weise haben Sie das gleiche Schema, das ich zum Lesen der Antwort verwendet habe. Die neun Strecke Gesamtmittel gehen und kommen zurück, wenn Sie also tunping -R 212.227.222.9
Sie nicht den vollständigen Pfad sehen, aber nur der letzte TeilGemäß RFC1812 sollte die Quelladresse der vom Router generierten ICMP-Nachricht die der Ausgangsschnittstelle sein, über die das Paket normalerweise zum Absender zurückkehren würde.
In der Realität ist es sehr wahrscheinlich, dass Sie einem nicht standardmäßigen Verhalten ausgesetzt sind, bei dem der Router die ICMP-Antwort mit der Quelle der Eingangsschnittstelle erstellt. Dies erleichtert normalerweise das Ablesen der Traceroute.
Als Antwort auf YLearns Frage veröffentliche ich ein Netzwerkdiagramm und einige Ausgaben.
Nehmen wir an, wir säuern die Traceroute von R5s Loopback 5.5.5.5 zu R1s Loopback 1.1.1.1. Wie Sie sehen können, erfolgt der Vorwärtspfad über R4-R2, während der Rückwärtspfad R3-R4 ist.
Die Traceroute-Ausgabe von R5 sieht wie folgt aus:
Während der von R1 generierte tatsächliche ICMP-Verkehr über R3 zu R5 zurückkehrt, enthält der IP-Header der ICMP Unreachable-Nachricht die Quelle der Eingangsschnittstelle 10.1.12.1.
Nach meiner Erfahrung, wie sich Cisco- und Juniper-Router verhalten, bin ich mir bei anderen Anbietern nicht sicher.
quelle