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