http://www.perlmonks.org?node_id=200183


in reply to Nonroot ping with Net::Ping::External (was: Re: packet types & ports)
in thread Module Net-Ping

Not to be too picky, but your ping command almost certainly _does_ require root permissions.
It's because for ICMP 'echo replies' to get back to the program, it effectively has to snoop the interface - there's absolutely no state in ICMP, so it just has to listen to see if it gets something that matches.
Of course, since it's a compiled binary that's _generally_ trusted, that's not a huge problem. Course, you could probably just do a system("ping -c 1 $host");(syntax dependant on OS) and grep for 'bytes from'.
--
It's not pessimism if there is a worse option, it's not paranoia when they are and it's not cynicism when you're right.
  • Comment on Re: Nonroot ping with Net::Ping::External (was: Re: packet types & ports)
  • Download Code

Replies are listed 'Best First'.
Re: Re: Nonroot ping with Net::Ping::External (was: Re: packet types & ports)
by sauoq (Abbot) on Sep 23, 2002 at 21:35 UTC
    Not to be too picky, but your ping command almost certainly _does_ require root permissions.

    Yes, ping needs root privileges and yes, blm's statement about the "binary ping command that does not need root level permissions" suggested otherwise. However, I think what he meant is that a user usually doesn't have to have root privs to execute ping. This is true because ping generally has its setuid bit on and is owned by root.

    -sauoq
    "My two cents aren't worth a dime.";