ISS Pinger v1.0 This program will send ICMP echo requests to a range of IP addresses and track the hosts that respond. The simple form of the command line is: "pinger " where the address range may be specified as a single IP address or as a range in the form "XXX.XXX.XXX.XXX-YYY.YYY.YYY.YYY". For example, "pinger 10.1.1.25" will ping the IP address 10.1.1.25. "pinger 10.1.1.1-10.1.2.255" will ping the IP addresses in the range from 10.1.1.1 to 10.1.2.255, inclusive. The performance of the pinger app may vary widely depending on network topology and available bandwidth. For this reason, the speed at which the program operates is tunable via command-line options. To tune the pinger properly requires an understanding of the operation of the program, so here's a quick tutorial. The pinger will make up to 5 passes through the specified IP address range, pinging each host in the range once per pass. At the end of each pass, any hosts from which responses have been received will be removed from the list so that they will not be pinged again. After the last pass has been completed, the pinger will keep listening for replies for one second. When a full second has elapsed during which no further replies have been received, the program will exit. The length of this "trailing timeout" is configurable via the "-t" command-line option. For example, the command "pinger 10.1.1.1-10.1.2.255 -t 2.5" will ping the specified address range and will listen for 2.5 seconds after the last pass has been completed. When 2.5 seconds have elapsed during which no replies have been received, the program will terminate. The ICMP echo request packets are sent in bursts with a pause between each burst. Both the size of a burst and the duration of the pause between bursts are configurable. To set the number of packets per burst, use the "-c" command-line option. The default value for "-c" is 64 packets/burst. To set the duration of the wait period between bursts, use the "-w" command-line option. "-w" is specified in seconds; and the default value for "-w" is 0.125, or 125 milliseconds. For example, the command "pinger 10.1.1.1-10.1.2.255 -c 32 -w 0.5" will ping the specified address range, sending 32 ICMP echo request packets per burst and pausing for 500 milliseconds between each burst. The burst size and wait period are crucial parameters, and may be used to speed up or slow down the pinger. WARNING: if it's run too quickly, the pinger may flood a network and miss host replies due to lost packets. The "-h" command-line option may be used to generate a host file suitable for input to ISS's Internet Scanner. For example, the command "pinger 10.1.1.1-10.1.2.255 -h hostfile.txt" will ping the specified address range and generate a host file in a file named "hostfile.txt". The pinger identifies and filters broadcast addresses, so the host file will not include any broadcast addresses.