perlping is a Unix-like ping(1) implementation, using Net::Ping for the low-level ping functionality. perlping was written because I wanted to install the Nagios network monitoring software on a client's hosted FreeBSD 4.8 system, but FreeBSD 4.8's built-in ping would not accept a ping count argument -- and Nagios needs a count-accepting ping to perform basic "host alive" checking.
perlping takes the following command-line arguments:
perlping defaults to connecting the HTTP (webserver) port 80 using TCP, which may be helpful in getting through firewalls that (justifiably) block ICMP packets. The ability to specify the protocol and port number is also useful for basic connectivity testing of other network services, like SSH.
perlping reports minimum, average, and maximum ping times, along with any packets lost. This functionality is sufficient for Nagios. If the standard deviation of ping response times was needed, you could easily add it using Statistics::Descriptive.
To install perlping, download the perlping source file, then type at the command line:
perl perlping-PL.TXT PERLPINGBINARYNAME
where PERLPINGBINARYNAME is the filename for your executable copy of perlping. (All the source program does is install perlping with the configured copy of Perl.)
perlping has been tested on FreeBSD 4.8, Windows XP, and Redhat Linux. It should work everywhere that Perl can use Net::Ping and command-line arguments. Enjoy!
bug compatible (Score:2)
The average time is computed as: (total of all received ping times) / (number of pings). This counts dropped packets as having responded in time 0 rather than either ignoring them or counting them as time infinity. I've seen a report saying min/max/average were 80/120/13.5 - an average of 13.5 calculated from a group of numbers in which the minimum was 80! The average should instead by computed as (total of all received pi
pping (Score:2)
1) Its an implementation detail that the user shouldn't care about. Its not important to the user that its written in Perl its important that its Portable. Thus pping. Portable Ping. And you can still referr to it as Perl Ping if you want.
2) Having Perl in the name can immediately turn some folks off and they won't touch it at all. If you instead get them using an innocously named program... "Hey,