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.
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.
In Section
Seekers of Perl Wisdom