Am Wed, 28 Sep 2005, David Haller schrieb:
==== poor-mans-traceroute UNGETESTET! ==== [..] ====
Nachtrag: Da fehlt allerdings noch die Fehlerbehandlung, DNS, reverse-DNS usw., aber das script sollte ja nur demonstrieren, wie traceroute funktioniert. Jetzt aber noch zum eigentlichen Punkt: Wie man am script sieht, und wie man z.B. mittels eine tcpdump feststellen kann wird beim traceroute (auch mit -m X) fuer jeden Hop ein ICMP ECHO_REQUEST -Paket weggeschickt und (mindestens) ein ICMP ECHO_REPLY bzw. TTL-EXCEEDED zurueck. Ein einzelnes 'ping -c 1 -t 4 -v -w 3 IPADRESSE' wie von mir vorgeschlagen hingegen verursacht genau ein ICMP ECHO_REQUEST und genau ein TTL-EXCEEDED. Vor allem also, wenn man ueber viele Hops testen will verursacht ein traceroute deutlich mehr Verkehr auf den beteiligten Rechnern. Bei mir mit 4 hops verursacht 'traceroute -m 4' 14 ICMP-Pakete, ein einzelnes 'ping -t 4' nur zwei(!). Weil ich von diesen Hintergrund (wie traceroute arbeitet) wusste kam mir eben die Idee, nur _ein_ 'ping' mit beschraenkter TTL loszuschicken und eben NICHT traceroute zu verwenden. Dass das Ping bei der Ziel-IP nicht ankommt ist beide Male irrelevant, das passiert beim traceroute ja auch nicht (bzw. erst beim letzten Hop, sofern die TTL ausreicht)... Das 'ping -t X' ist also vergleichbar mit _dem letzten Schritt_ eines 'traceroute -m X'. Und die Schritte davor beim traceroute sind ueberfluessig, will man nur schauen, ob man bis eben zum Xten "hop" durchkommt. HTH & HAND, -dnh -- Like all parents, I have learnt to be most worried when she is quietest. It means she's up to something. -- David C. Staples, about his daughter