FPDNS(1p)

πŸ“¦
this version Β· 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

πŸ’– FPDNS(1p) β€” the DNS server fingerprinting era πŸ’–

okay bestie, sit down, we're doing fpdns(1p) today and it's honestly so iconic. it's a Perl joint, it lives in the user-contributed perl docs, and it's about to tell you what DNS server somebody's running from, like, across the internet. no cap.


✨ NAME ✨

fpdns β€” DNS server fingeprinting tool

(no i did not typo that, the original literally says "fingeprinting" and we respect the lore 🫢)


🌸 SYNOPSIS 🌸

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

πŸ¦‹ DESCRIPTION πŸ¦‹

so fpdns is a program that remotely determines DNS server versions. remotely!! from over there!! and it does it by sending a whole series of borderline DNS queries β€” like, the weird, edge-case, "ma'am this is a Wendy's" kind of queries β€” and then compares what comes back against a table of responses and server versions. it's giving detective energy, it's giving reading-you-for-filth, it's giving πŸ”₯.

but listen, because this part matters: false positives or incorrect versions may be reported when you're trying to identify a set of servers that live behind a load-balancing apparatus where the servers are of different implementations. also when a specific implementation behaves like a forwarder, or when you're behind a firewall without statefull inspection or without Application Intelligence. so like. the vibe check can come back wrong, okay? don't @ me, that's just what the manpage says. πŸ’…


πŸŽ€ OPTIONS πŸŽ€

  • -d β€” enable debugging. it's off by default, so it stays quiet until you ask.
  • -D β€” check all authoritative servers of the specified domain name. all of them. the whole squad. πŸ‘‘
  • -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. you get to pick who you're showing up as ✨
  • -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. switching it up, love that for you 🌈
  • -v β€” show version of fpdns.
  • server β€” IP address or name to query. alternatively may be '-' to read from a list of these from stdin.
heads up bestie: -D and -T are real options but they're not in the SYNOPSIS up there, and i'm not gonna pretend otherwise. the original is the original. πŸ™ˆ

πŸ’œ AUTHORS πŸ’œ

fpdns was written by Roy Arends and Jakob Schlyter. absolute legends, we stan. 🫢


⭐ SEE ALSO ⭐

perl(1), Net::DNS(1)


and that's the whole page, bestie, you ate it. πŸ’– this little beauty is from perl v5.32.0, dated 2021-01-04, and it answers to the name FPDNS(1p). periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from