in reply to Ping a list of servers
Net::Ping, by default, utilizes udp to attempt a connection to the echo port on the remote host. You may also attempt tcp connections to the echo service port.
When hosts are reported as "not returning ping requests" for your script, it means they aren't running the echo service.
In order to use icmp you will need to run your script as suid root -- otherwise you'll have to wrangle with return codes from the command line ping using system calls or backticks.
By the way, if there's a large number of hosts and a significant portion tend to be down, you might consider using something like merlyn's Parallel::ForkManager to ping hosts in parallel batches.
Matt
Update: after reading the docs, switched udp and tcp in my statements regarding the defaults.
|
|---|