BORE(1)

πŸ“¦ version 0.4.1, in nixos 26.05, nixpkgs unstable

πŸ¦‹ BORE(1) β€” the DNS query tool that ate πŸ’…

okay so bestie, welcome to bore(1) β€” she's a DNS query tool and she is so that girl. this is the General Commands Manual page for her, and we're gonna get through it together, no cap ✨


🌸 SYNOPSIS 🌸

bore [--encode | --decode | --show-resolvers] [--load] [--dump]
     [--host host] [--port port] [--timeout timeout] [-x | --reverse]
     [--class class] [--color when] [@host] [name] [type]

πŸ’– DESCRIPTION πŸ’–

So what does she do. She sends a DNS query and prints the response in zone format. That's it, that's the vibe. πŸŽ€

If you don't give her a host, bore uses your system's resolvers β€” and like, she gets those from GetAdaptersAddresses on Windows, from dns_configuration_copy on macOS, or from resolv.conf(5) on other Unix-like platforms, and she's falling back on localhost if all that comes up empty. resourceful queen 🫢

⚠️ Real talk for a sec: your platform's native name resolution probably supports other sources besides DNS β€” think a hosts(5) file, or mDNS (Bonjour). bore only uses native resolution for host itself, and otherwise she only sends DNS queries, so the results may differ from how your system would resolve a name as a hostname. iykyk, don't come for her πŸ’€

By default, bore will follow four steps, in order, always:

  1. build a query based on the given arguments
  2. send the query to the given host
  3. receive a response from the given host
  4. decode and pretty-print the message

✨ OPTIONS ✨

The following options and positional arguments may be given in any order β€” she's flexible like that πŸ’…

πŸ“ Positional arguments

  • @host β€” Sends the query to host (see --host). cute little shorthand, love that for us.
  • name [default: .] β€” Question name. Names are parsed in zone format, with dots separating labels unless escaped, \000 through \255 to escape an octet, and \x with any non-digit character 'x' to escape that character.
🚨 Two things bestie, listen up: when --reverse is given, name is required, and it should instead be an IPv4 or IPv6 address. Also, a trailing dot must be added when querying top-level domains, otherwise they will be treated as a type (and probably fail 😭). And names starting with '@' must be escaped, otherwise they'll be treated as a @host. escaping is self-care, fr.
  • type [default: A] β€” Question type. The default is 'PTR' if --reverse is given, or 'A' if a name is given, or 'NS' otherwise. For unknown types, use 'TYPE' followed by the type number, e.g. 'type65535'. she's got range πŸ‘‘

🌈 Mode options

  • --encode β€” Writes the raw query to stdout, instead of sending it (step 1 only). just the query, ma'am πŸŽ€
  • --load β€” Reads the raw query from stdin, instead of building one (skip step 1).
  • --dump β€” Writes the raw response to stdout, instead of pretty-printing it (skip step 4).
  • --decode β€” Reads a raw message from stdin, then decodes and pretty-prints it (step 4 only). reverse girlie πŸ’œ
  • --show-resolvers β€” Prints details about your system's resolvers, and a list of hosts we would actually send queries to (after taking --host and --port into account), without doing anything else. pure vibes, zero queries πŸ”₯

πŸ¦‹ Network options

  • --host host β€” Sends the query to host, instead of your system's resolvers. If host is a domain name, we use your platform's native name resolution to turn it into a list of IP addresses. iconic behaviour ngl.
  • --port port [default: 53] β€” Sends the query to the given port. The default is port 53, or on macOS, the custom port (if any) that each of your system's resolvers and nameservers is configured to use. macOS stays doing the most πŸ’€
  • --timeout timeout [seconds; default: 5] β€” Give up on waiting for the query after timeout seconds, and if there are more hosts available, try the next one. This timeout spans the whole query attempt, so the query needs to be sent and a response received within that time. clock is ticking bestie ⏰

🧚 Building queries

  • -x, --reverse β€” Makes a reverse DNS query, converting name (required) from an IP address to a domain name in 'in-addr.arpa.' (IPv4) or 'ip6.arpa.' (IPv6). yes bestie, required required πŸŽ€
  • --class class [default: IN] β€” Question class. For unknown classes, use 'CLASS' followed by the class number, e.g. 'class65535'. number go brrr ✨

🌸 Other options

  • --color ⟨auto | never | always⟩ [default: auto] β€” Controls when to use colours or other text styles. In auto mode, we decide whether or not to use them as follows:
    • no, if standard output is not a tty (Unix) or console (Windows)
    • no, if the environment has TERM=dumb (all platforms)
    • no, if the environment has no TERM (Unix)
    • yes, otherwise

aesthetically speaking? she ate πŸ’…


πŸŽ€ SEE ALSO πŸŽ€

hosts(5), resolv.conf(5) β€” go read those too, they're part of the lore πŸ“š


πŸ‘‘ AUTHORS πŸ‘‘

bore is written and maintained by Delan Azabani <delan@azabani.com>. give her a round of applause fr fr 🫢


okay and for the little credits corner: this page ships from Debian, dated $Mdocdate$, and she's filed under BORE(1) in the General Commands Manual. mwah, that's a wrap πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from