in reply to traceroute without shell

From what I've gathered on ping and traceroute, both use ICMP IP packets with an unlimited (in the case of ping) respective limited (in the case of traceroute) Time To Live (TTL). As only real OSes give you access to ICMP as a normal user, you've got the same problems within Perl as you've got within the shell. You could try to locate traceroute, but I guess that it is located in /usr/sbin and that it is not suid, so you won't be able to use the ICMP protocol.

Replies are listed 'Best First'.
Re: Re: traceroute without shell
by Fastolfe (Vicar) on Jan 24, 2001 at 20:24 UTC
    Contrary to what most people think, traceroute actually (by default at least) sends UDP packets to high-numbered ports, not ICMP. The ICMP responses along the way is how it figures out the route, but it doesn't have to send these.

    However, the UDP packets are somewhat mangled in order to get the proper TTL values (as you indicate), so root/administrative privileges are still required.

Re: Re: traceroute without shell
by stefan k (Curate) on Jan 24, 2001 at 16:13 UTC
    I tried to locate traceroute, but it isn't there, not even in /usr/sbin
    Don't ask me why ...
    Regards
    Stefan K
    $dom = "skamphausen.de"; ## May The Open Source Be With You! $Mail = "mail@$dom; $Url = "http://www.$dom";
Re^2: traceroute without shell
by polettix (Vicar) on Apr 20, 2007 at 20:49 UTC
    As you correctly remark, sometimes programs can be set setuid, allowing its usage by non privileged users also in ideal OSes :)

    Flavio
    perl -ple'$_=reverse' <<<ti.xittelop@oivalf

    Don't fool yourself.