I'm looking for a way to do a traceroute client-side, i.e. in a browser.
As far as I know, it's not possible to send ICMP, UDP or TCP packets with arbitraty TTL values via Javascript or Flash. I know Flash allows TCP connections via the Socket class in Actionscript but it doesn't seem useful for a traceroute implementation.
Is the only solution to develop a browser plug-in ?
EDIT: I just found out that it has been done with a Java applet: http://www.codefromthe70s.org/traceroute.aspx
The bad news is that this applet requires to be signed code because it actually parses the output from the ping executable of the underlying client system. Because of this, the user is asked to allow the Java application to run, which is cumbersome.
More info here: http://www.codefromthe70s.org/traceroute_explained.aspx
I am still looking for a simpler solution if anyone can help.
EDIT 2: Thanks for your anwsers. I guess I'll have to go with Java then.
I wonder if NaCl ( http://code.google.com/p/nativeclient/ ) would support some kind of traceroute app.