Dies ist die Dokumentation unserer zweiten Netzwerkperformance, die
den Namen 'ftp.performance' trägt, in Wirklichkeit aber auf dem Programm
traceroute basiert.
Traceroute schickt normalerweise ein kleines Paket zu einem anderen
Computer im Netz. Jeder Rechner, den das Paket unterwegs passiert, schickt
ein kleines Info-Paket zurück an den Sender. So bekommt dieser zu erfahren,
welchen Weg das ursprüngliche Paket nahm. Traceroute ist ein Standardwerkzeug
und ist in allen gängingen Betriebssystemen enthalten.
Normalerweise sind Tracroute-Pakete leer. Ich modifizierte ein Linux-Traceroute
so, dass es die gewonnenen Routinginformationen in einem zweiten
Paket ebenfalls an den Zielcomputer verschickt. Doch dieses zweite Paket
erzeugt wiederum eine Routinginformation, welche ebenfalls an den Zielrechner
verschickt wird. Eine endlose Schleife formiert sich, getrieben von nivellierendem Streben.
Normalerweise verwirft der Zielrechner Traceroutepakete, denn sie enthalten
keinerlei nützliche Informationen und sind harmlos. So schrieb ich ein kleines
Programm (nennen Sie es Sniffer, Server, Empfänger, wie auch immer...), welches
die Routinginformationen aus den modifizierten Paketen extrahiert. Wir haben
verschiedene Anzeigeprogramme geschrieben für diese Informationen. Zunächst hatten
wir einen Textviewer, später nutzten wir einen Webserver um dem Publikum zu
zeigen, was vor sich geht. Nach Experimenten mit animierten GIFs (Beispielbild unten)
versuchten wir einen SVG-Viewer und schrieben schliesslich ein Anzeigeprogramm
in Java, welches dann am besten funktionierte.
Verwendete Technik: Bash Shell Scripting, C (, Java, SVG, HTML...).
Sourcen sind auf Anfrage unter der GPL erhältlich. Etwas Material kann
aber auch jetzt schon hier
und hier angeschaut werden.
Bitte besuchen Sie auch THE *** INSTITUTE.
|
This is the documentation page of our second network performance
called 'ftp.performanceII' but in fact it's based on traceroute.
The traceroute program normally sends a packet to another computer
on the net. Every computer on the route of that packet sends a small
notification packet back to the sender. So the sender knows which way
the packet took. Traceroute is a standard tool and comes with every
usual operating system.
Normally traceroute packets are empty. I modified it to send the
gained routing information in the payload area of a second packet
to the targeted computer. And this second packet also generates a
routing information which has to be transmitted in a 3rd packet and
so on. An endless loop forms.
The targeted computer normally discards traceroute packets because they
contain no useful information and are harmless. So I wrote also a small
program (call it sniffer, server, receiver, whatever...) which extracts
the routing information from the modified traceroute packets. There are
several viewers for these informations. At first we had a simple terminal/ascii
viewer. Later we used a webserver to let the audience see what happens and
used animated GIFs first (there is one example GIF below), tried SVG and
finally wrote a JAVA viewer which works best.
Used technology: shell scripts, C (, JAVA, SVG, HTML ...).
The source codes are available on request or probably later from this
site and will be GPL'd. Some material is already available here
and here.
Please visit also THE *** INSTITUTE.
|