JDRESOLVE(1)

NAME
jdresolve - resolves IP addresses into hostnames

SYNOPSIS
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>

DESCRIPTION
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.

OPTIONS

-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, --linecache=<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

--dbfirst
    check if we have resolved entries in the database before sending out DNS queries

--dbonly
    don't send DNS queries, use only resolved data in the database

--dumpdb
    dumps a database to STDOUT

--mergedb
    merges resolved IP/classes from a file (or STDIN) with a database

--expiredb=<hours>
    expires entries in the database that are older than <hours> hours

--unresolved
    won't attempt to resolve IPs, only lists those that were not resolved

<LOG FILE>
    the log filename or '-' for STDIN

EXAMPLES

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

SEE ALSO
rhost(1)

AUTHOR
jdresolve was written by John D. Rowell <me@jdrowell.com>, and is licensed under the terms of the GNU General Public License.

The original version of this man page was written by Craig Sanders <cas@taz.net.au>, for the Debian GNU/Linux package of jdresolve, and is also licensed under the terms of the GNU GPL.