---
name: "jdresolve"
section: "1"
platform: "linux"
package: "jdresolve"
version: "0.6.1-7"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/jdresolve"
---

# jdresolve(1)

resolves IP addresses into hostnames

## 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)](/rhost/1.md)

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