Increasing the coverage of PingER in developing countries has been difficult so far because it is hard to find hosts which are geographically located within those countries and do not block pings. The usual method of searching for hosts on Google using the top level domain of such countries has proven to be tedious and time consuming task. The various steps involved in this are:
- Search for possible hosts on Google using the tld
- Ping each host manually to check if it blocks pings
- Using Visual Traceroute or GeoIPtool to confirm whether the host is geographically located in the desired country.
The PingER host searcher is an attempt to solve this problem. It completely automates the above procedure by:
- It automatically downloads the first 1000 results for the required country using its tld from Google.
- Using regular expressions and pattern matching it searches for hostnames in the results.
- After elimination of any duplicate hostnames in the list it starts pinging them individually. At this stage the user can configure the number of pings he wants to send out to each host and the time-out value of the whole ping command. The default value is 10 sec timeout for 10 pings.
- After the results of the pings come in, the program filters out hosts which block pings and also those with multiple hostnames for the same IP address, keeping one copy for a single IP address. It also stores the min_rtt for all the hosts in the filtered list.
- Finally it checks the hosts in the filtered list on GeoIptool, again using pattern matching to show the top level domain, country, city and lat/long for each host. This information has no guarantee of being absolutely correct but on numerous occasions it was observed that it does possess a high degree of accuracy. The results at this stage can be configured by command line to be filtered optionally by either a threshold min_rtt or the top level domain of the results or both.