---
name: "fpdns"
section: "1p"
platform: "linux"
package: "fpdns"
version: "20190131-1.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/fpdns/1p"
---

# fpdns(1p)

DNS server fingeprinting tool

## NAME

fpdns - DNS server fingeprinting tool

## SYNOPSIS

**fpdns** \[ **-d** \] \[ **-f** \] \[ **-F** *nchild* \]\
    \[ **-p** *port* \] \[ **-Q** *srcaddr* \] \[ **-r** *retry* \]\
    \[ **-s** \]  \[ **-S** *separator* \] \[ **-t** *timeout* \] \[ **-v** \] \[*server(s)*\]

## DESCRIPTION

**fpdns** is a program that remotely determines DNS server versions. It does this by sending a series of borderline DNS queries which are compared against a table of responses and server versions.

False positives or incorrect versions may be reported when  trying to identify a set of servers residing behind a  load-balancing apparatus where the servers are of different  implementations, when a specific implementation behaves like a  forwarder, behind a firewall without statefull inspection or without  *Application Intelligence*.

## OPTIONS

- **-d**

  Enable debugging. Off by default.

- **-D**

  Check all authoritative servers of the specified domain name.

- **-f**

  Force checking of CH TXT version. Off by default.

- **-F** *nchild*

  Maximum number of forked child processes. Defaults to 10.

- **-p** *port*

  Port to query remote nameserver on. Default is 53.

- **-Q** *srcaddr*

  Set the source IP address to use.

- **-r** *retry*

  Number of attempt to retry fingerprints. Defaults to 1.

- **-s**

  Short display form. Useful for surveys.

- **-S**

  Separator. Defaults to " ".

- **-t** *timeout*

  Set the query timeout in seconds. Defaults to 5.

- **-T**

  Use TCP instead of UDP.

- **-v**

  Show version of fpdns.

- *server*

  IP address or name to query. Alternatively may be '-' to  read from a list of these from stdin

## AUTHORS

fpdns was written by Roy Arends and Jakob Schlyter.

## SEE ALSO

[**perl**(1)](/perl/1.md), **Net::DNS**(1)
