Bei der Überwachung meines Netzwerks wurde mir vor einiger Zeit klar, dass Traceroute Routen vollständiger druckte als jetzt ... und im Moment lässt Traceroute manchmal einige Geräte aus.
Dies ist beispielsweise eine vollständigere Traceroute, einschließlich meines Gateways:
$ sudo traceroute -F xxx.xx.136.5
traceroute to xxx.xx.136.5 (xxx.xx.136.5), 30 hops max, 60 byte packets
1 * * *
2 192.168.1.1 (192.168.1.1) 1.607 ms 1.604 ms 1.627 ms
3 xxx.xx.136.5 (xxx.xx.136.5) 3.286 ms 5.729 ms 7.416 ms
Der genau gleiche Befehl lässt mein Gateway aus:
$ sudo traceroute -F xxx.xx.136.5
traceroute to xxx.xx.136.5 (xxx.xx.136.5), 30 hops max, 60 byte packets
1 xxx.xx.136.5 (xxx.xx.136.5) 24.004 ms 28.267 ms 42.343 ms
Diese Befehle wurden auf demselben Computer gegeben.
Wie kann ich festlegen, dass immer die gesamte Route angezeigt wird?
traceroute
Leandros López
quelle
quelle
Antworten:
Jede Form von Traceroute erhöht die TTL eines IP-Pakets um eins. Das erste Paket hat eine TTL von eins und der 1-Router dekrementiert den Timer und sendet eine Fehlermassage über ICMP (Time to Live überschritten). Standard * NIX Traceroute verwendet UDP, Windows Tracert ICMP, es gibt auch Versionen, die TCP verwenden.
Es gibt verschiedene Fälle, in denen Sie keinen Hop sehen:
traceroute -I
sollte zum Trick laufen .quelle
Ich bevorzuge die Verwendung
tcptraceroute
für ein besseres Detail des Hop-to-Hop-Routings.tcptraceroute
Im Wesentlichen werden die meisten Schutzfirewallen umgangen, wobei ICMP-Pakete ignoriert werden, die von verwendet werdentraceroute
. Verwenden Sie Port 80 oder 53.quelle
Wenn Ihr Gateway über eine Protokollierungsoption verfügt, aktivieren Sie diese. Möglicherweise finden Sie einen Eintrag, der das beobachtete Verhalten erklärt. Ein Router kann wiederholtes ICMP als DOS interpretieren.
... obwohl man intuitiv erwarten könnte, dass sich die Quelle im externen Netzwerk befindet.
quelle
Ich habe in meinem Intranet herausgefunden, was wirklich mit Traceroute (und mtr, tpctraceroute usw.) zusammenhängt. Es ist mein eigener Router, der bekannte Hopfen versteckt. Mein Router (ein TP-Link WAP wie unter Linux 2.6.15) verwendet, um die Hops auf bekannten Routen auszublenden. Wenn Sie also vg Traceroute auf Google geben, wird nur ein Sprung ausgegeben, Google selbst, da mein Router die Route sehr gut kennt (ich bleibe den ganzen Tag mit Google). Wenn Sie jedoch nur einen PC direkt am Access Point anschließen und dann eine Traceroute in Richtung Google geben, wird die gesamte Route von hier nach Google zurückgegeben.
Jetzt weiß ich also, was los ist, aber nicht, warum es das so macht.
Um dieses Problem zu umgehen, verwende ich das Tracerout, das vom eingebetteten Linux bereitgestellt wird, das auf dem (problematischen) Router ausgeführt wird. Das heißt, der Router, der über meinen PC Hops versteckt, bietet in seinem eigenen eingebetteten System eine Schnittstelle, die das Tracerout ordnungsgemäß ausführt.
Wie auch immer, danke für die Antwort!
quelle
Beim Implementieren eines neuen Hosts wurde festgestellt, dass die Trace-Route nur die Adresse des lokalen Gateways und die Adresse im Hosts-LAN anzeigt. Alle anderen Hops wurden jedoch als * angezeigt.
Wenn ich TCPDUMP auf demselben Host ausgeführt habe, während ich die Trace-Route ausgeführt habe, konnte ich feststellen, dass die ICMP-TTL die Nachrichten überschritten hat, die von den Knoten im Pfad generiert wurden, aber TRACEROUTE hat die IP-Adressen einfach nicht angezeigt ... nur mehr *.
Der Host hatte zwei Netzwerkschnittstellen, Schnittstelle A, auf der eine Standardroute konfiguriert war, und Schnittstelle B, die eine statische Route zum Ziel hatte. Es war Schnittstelle B, auf der ich die Trace-Route ausführte, auf der nur * angezeigt wurden.
Um das Problem zu beheben, habe ich dem zweiten Hop, dem nächsten Router im Pfad, eine weitere statische Route hinzugefügt, damit ich auf einem viel kürzeren Pfad arbeiten kann. Als ich den Test zum ersten Mal startete, wurde der zweite Hop nur als * angezeigt, aber sobald ich der Netzwerk-Trace-Route eine statische Route hinzufügte, wurde seine IP-Adresse angezeigt.
Ich habe erneut eine Trace-Route zum endgültigen Ziel durchgeführt und festgestellt, dass alle IP-Adressen, die ICMP-TTL generiert haben, die Nachrichten überschritten haben, damit ich sicherstellen konnte, dass für das Routing von Schnittstelle B alle diese Netzwerke statisch konfiguriert waren. Als ich dies tat, konnte ich jetzt alle IPs sehen, die im Ergebnis der Trace-Routen aufgeführt sind.
Es sieht also so aus, als ob die Schnittstelle, die die ICMP-TTL-überschrittenen Nachrichten empfängt, kein Routing zurück zu dieser Adresse hat und dann nicht in den Ergebnissen der Trace-Route angezeigt wird. Ich bin sicher, dass jemand in der Community erklären kann, warum es sich so verhält, aber ein Host mit mehreren Schnittstellen, der eine Trace-Route auf einer Schnittstelle ausführt, für die nicht die Standardroute konfiguriert ist, ist so ziemlich Zeitverschwendung.
quelle