PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : traceroute Problem



mullfreak
06.09.06, 10:09
Hallo,

folgendes Problem:

Ich führe zwei Traceroute´s aus dem gleichen Netz an dieselbe Adresse. Einziger Unterschied ist der, dass der traceroute einmal von Windows und einmal von Linux ausgeführt wird. Hier die Ergebnisse:

Windows:
Tracing route to 129.76.102.1 over a maximum of 30 hops

1 1 ms 1 ms 1 ms 10.10.10.23
2 12 ms <1 ms <1 ms 10.10.138.67
3 1 ms <1 ms <1 ms 10.10.10.30
4 33 ms 32 ms 31 ms 10.91.240.5
5 33 ms 33 ms 34 ms disco.as.ksu.edu [129.130.6.2]
6 50 ms 45 ms 48 ms 129.76.102.1
Trace complete.

Linux:
traceroute to 129.76.102.1 (129.76.102.1), 30 hops max, 40 byte packets
1 10.10.10.23 1.943 ms 1.192 ms 1.285 ms
2 10.10.138.67 0.398 ms 0.387 ms 0.395 ms
3 10.10.10.30 1.165 ms 1.086 ms 1.409 ms
4 10.91.240.5 34.775 ms 33.642 ms 32.471 ms
5 disco.as.ksu.edu (129.130.6.2) 32.875 ms 36.045 ms 35.194 ms
6 129.76.143.114 44.969 ms * *

Hier sieht man deutlich, dass bei Windows der Traceroute einwandfrei klappt. Bei Linux bricht er aber ab.

Was könnte das sein? Wenn ihr Zusatzinformationen braucht, liefere ich die natürlich gerne.

Gruss
Mull

ldi91
06.09.06, 10:58
hatt linux die gleichen gateway und dns einstellungen. sind beide im gleichen netz?

Cerox
06.09.06, 11:00
Nimm beim Traceroute unter Linux mal einen anderen Zielport. Das könnte eventuell helfen.

mullfreak
06.09.06, 11:14
@ldi91
Linux und Windows haben die gleichen Einstellungen auf der Netzwerkkarte. Die Rechner liegen im gleichen Subnet´s, nämlich 10.10.10.x/255.255.254.0.

@Cerox
Was ist ein Zielport? Eine andere Adresse? Die Zieladresse stammt aus einer Standortverbindung zu unserem Headquarter in den USA und dort müssen wir hin.

Gruss
Mull

marce
06.09.06, 11:16
Wenn ich mich recht entsinne sind die Arten, wie Win und Linux den traceroute durchführen unterschiedlich - so dass es durchaus sein kann, dass die einen Pakete durchkommen und die anderen nicht.

Analysiere doch mal die Pakete des Traceroute an sich - evtl. erkannst Du dann, woran es liegt...

mullfreak
06.09.06, 11:43
Hi marce,

vielen Dank für Deine Antwort. Du hast recht, im Allgemeinen kann man sagen das Windows ICMP benutzt, hingegen Linux das über UDP macht. Hier mal ein Text dazu:

http://www.tech-faq.com/lang/de/unix-windows-traceroute.shtml

Gruss
Mull

Cerox
06.09.06, 21:54
im Allgemeinen kann man sagen das Windows ICMP benutzt, hingegen Linux das über UDP macht

Richtig und genau das meinte ich auch oben. Wenn die Hosts die benötigten ICMP Typen akzeptieren, bekommst du auch ein Ergebnis (Windows).

Je nach UDP Port allerdings nicht, da dieser vielleicht durch einen Paketfilter blockiert wird. Man kann den Zielport abändern (schau mal in die manpage von traceroute), z.B. auf DNS (UDP 53); falls es sich dann um einen DNS-Server handeln würde, akzeptiert dieser das Paket und du erhälst eine Antwort. Probier es einfach mal aus.

Harry
06.09.06, 22:46
Man kann den Zielport abändern (schau mal in die manpage von traceroute), z.B. auf DNS (UDP 53); falls es sich dann um einen DNS-Server handeln würde, akzeptiert dieser das Paket und du erhälst eine Antwort. Probier es einfach mal aus.
Das ist leider nicht richtig. Was soll der DNS-Server mit dem traceroute-UDP-Datagramm anfangen? Da es sich um keine korrekte DNS-Query handelt, ignoriert der DNS-Server dieses Datagramm kurzerhand und antwortet natürlich nicht. Und anders als bei TCP wird auch keine Session vorher zwischen Client und Server aufgebaut, die im Gegensatz zu UDP immer eine Antwort garantiert.

Das Linux traceroute arbeitet beim Versand mit UDP-Datagrammen, die auf High-Ports gerichtet sind. Dies provoziert beim erreichten Server in etwa ICMP-Destination unreachable-Port unreachable oder aber bei den Gateways unterwegs ICMP-TTL exceeded. Insofern wird immer ICMP zurück empfangen.

Unter Windows haben wir mit tracert beim Versand ICMP-echo request und beim Empfang entweder ICMP-TTL exceeded oder vom Zielhost dann ein ICMP-echo reply.

Da wird dann deutlich, dass unterschiedliche Reaktionen zwischen beiden Versionen die Folge sein können, abhängig von der Konfiguration in etwa der Paketfilter auf den beteiligten Nodes und Hops.