jdresolve resolves IP addresses to hostnames. Any file format is supported, including those where the line does not begin with the IP address. One of the strongest features of the program is the support for recursion, which can drastically reduce the number of unresolved hosts by faking a hostname based on the network that the IP belongs to. DNS queries are sent in parallel, which means that you can decrease run time by increasing the number of simultaneous sockets used (given a fast enough machine and available bandwidth). By using the database support, performance can be increased even further, by using cached data from previous runs. Included is a tiny shell script called rhost to interface with jdresolve when resolving a single IP address. Think of it as a smart replacement for the 'host' utility that comes with bind-utils. WWW: http://www.jdrowell.com/archives/projects/jdresolve/index.html