jdresolve(1) resolves IP addresses into hostnames


jdresolve [-h] [-v] [-n] [-r] [-a] [-d <level>] [-m <mask>] [-l <line cache>] [-t <timeout>] [-p] [-s <number of sockets>] [--database=<db path>] <LOG FILE>

jdresolve [--help] [--version] [--nostats] [--recursive] [--anywhere] [--debug=<level>] [--mask=<mask>] [--linecache=<line cache>] [--timeout=<timeout>] [--sockets=<number of sockets>] [--database=<db path>] [--dbfirst] [--dbonly] [--dumpdb] [--mergedb] [--expiredb=<hours>] [--unresolved] [--progress] <LOG FILE>


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.


-h, --help
produces a short help message
-v, --version
display version information
-n, --nostats
don't display stats after processing
-r, --recursive
recurse into C, B and A classes when there is no PTR (default is no recursion)
-d, --debug=<debug-level>
debug mode - no file output, just statistics during run (verbosity level range: 1-3)
-t, --timeout=<seconds>
timeout in seconds for each host resolution (default is 30 seconds)
-l, --line-cache=<lines>
numbers of lines to cache in memory (default is 10000
-s, --sockets=<sockets>
maximum number of concurrent sockets (use ulimit -a to check the max allowed for your operating system - defaults to 64)
-m, --mask=<mask>
<mask> accepts %i for IP and %c for class owner, e.g. ``somewhere.in.%c'' or ``%i.in.%c'' (default is ``%i.%c")
-a, --anywhere
resolves IPs found anywhere on a line (will resolve all IPs if there is more than one)
-p, --progress
prints a nice progress bar indicating the status of the resolve operations
--database=<db path>
path to database that holds resolved hosts/classes
check if we have resolved entries in the database before sending out DNS queries
don't send DNS queries, use only resolved data in the database
dumps a database to STDOUT
merges resolved IP/classes from a file (or STDIN) with a database
expires entries in the database that are older than <hours> hours
won't attempt to resolve IPs, only lists those that were not resolved
the log filename or `-' for STDIN


    jdresolve access_log > resolved_log 
    jdresolve -r -s 128 access_log > resolved_log
    jdresolve -r --database hosts.db access_log > res_log


jdresolve was written by John D. Rowell <[email protected]>, and is licensed under the terms of the GNU General Public License.

The original version of this man page was written by Craig Sanders <[email protected]>, for the Debian GNU/Linux package of jdresolve, and is also licensed under the terms of the GNU GPL.