
Auf meiner Linux-Box traceroute
funktioniert es nicht. Die Ausgabe sieht so aus:
$ traceroute google.com
traceroute to google.com (209.85.231.104), 30 hops max, 52 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
Kann mir jemand sagen, warum es nicht funktioniert? Gibt es dafür mögliche Gründe?
Antwort1
Standardmäßig,traceroute
verwendet hohe UDP-Ports zum Tracing von Hosts. Manchmal blockieren Firewalls diese UDP-Ports jedoch.
-I
Versuchen Sie, den Parameter (großes i) zur Befehlszeile hinzuzufügen , zB:
traceroute -I www.google.it
Dadurch wird ICMP statt UDP zum Verfolgen von Hosts verwendet.
Antwort2
Versuchen Sie, -T (TCP) oder -U (UDP) zu verwenden, um die Firewall zu umgehen.
Einige Router/Firewalls lassen ICMP-Echos nicht durch, deshalb sollten Sie diese beiden verwenden, um sie zu umgehen.
Im Gegensatz zu Wikipedia verwendet Traceroute auf meinen Debian-Boxen jedoch immer noch ICMP-Pakete und nicht UDP.
BEARBEITEN
Ich habe mich geirrt...es verwendet UDP...die ICMP-Rückmeldungen sind für einen nicht erreichbaren Port...tut mir leid
Antwort3
Es könnte sein, dass eine Firewall vor Ihnen die UDP-Pakete blockiert Routenverfolgung
Auf modernen Unix-ähnlichen Betriebssystemen verwendet das Dienstprogramm Traceroute standardmäßig UDP-Datagramme mit Zielportnummern von 33434 bis 33534.
Antwort4
Dies liegt wahrscheinlich daran, dass die ICMP TIME_EXCEEDED-Antwort vom Router/der Firewall gefiltert wird, die Sie als Standard-Gateway verwenden, oder von Ihrem Linux-System selbst.