Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
D

dnslookup

> 编程语言
Open source

Simple command line utility to make DNS lookups to the specified server

1.1K stars0 likes1 views
WebsiteGitHub

About

Simple command line utility to make DNS lookups to the specified server

dnslookup

Simple command line utility to make DNS lookups. Supports all known DNS protocols: plain DNS, plain DNS-over-TCP, DoH, DoT, DoQ, DNSCrypt.

How to install

  • Using homebrew:

    bash
    brew install ameshkov/tap/dnslookup
  • From source:

    bash
    go install github.com/ameshkov/dnslookup@latest
  • You can get a binary from the releases page.

  • You can install it from the Snap Store

Examples

Plain DNS, use default system resolver:

bash
dnslookup example.org

Plain DNS:

bash
dnslookup example.org 94.140.14.14

Plain DNS-over-TCP:

bash
dnslookup example.org tcp://94.140.14.14

DNS-over-TLS:

bash
dnslookup example.org tls://dns.adguard-dns.com

DNS-over-TLS with IP:

bash
dnslookup example.org tls://dns.adguard-dns.com 94.140.14.14

DNS-over-HTTPS with HTTP/2:

bash
dnslookup example.org https://dns.adguard-dns.com/dns-query

DNS-over-HTTPS with HTTP/3 support (the version is chosen automatically):

bash
HTTP3=1 dnslookup example.org https://dns.google/dns-query

DNS-over-HTTPS forcing HTTP/3 only:

bash
# Google DNS
dnslookup example.org h3://dns.google/dns-query

DNS-over-HTTPS with IP:

bash
dnslookup example.org https://dns.adguard-dns.com/dns-query 94.140.14.14

DNS-over-HTTPS with basic auth (supported by AdGuard DNS):

bash
dnslookup example.org https://username:[email protected]/dns-query

DNSCrypt (stamp):

bash
dnslookup example.org sdns://AQIAAAAAAAAAFDE3Ni4xMDMuMTMwLjEzMDo1NDQzINErR_JS3PLCu_iZEIbq95zkSV2LFsigxDIuUso_OQhzIjIuZG5zY3J5cHQuZGVmYXVsdC5uczEuYWRndWFyZC5jb20

DNSCrypt (parameters):

bash
dnslookup example.org 176.103.130.130:5443 2.dnscrypt.default.ns1.adguard.com D12B:47F2:52DC:F2C2:BBF8:9910:86EA:F79C:E449:5D8B:16C8:A0C4:322E:52CA:3F39:0873

DNS-over-QUIC:

bash
# AdGuard DNS
dnslookup example.org quic://dns.adguard-dns.com

# Quad9
dnslookup example.org quic://9.9.9.9

Sending a PTR query for an IPv4 address (IP address is recognized automatically when RRTYPE is not specified):

bash
dnslookup 8.8.8.8

Sending a PTR query for an IPv6 address (IP address is recognized automatically when RRTYPE is not specified):

bash
dnslookup 2606:4700:4700::1111

Machine-readable format:

bash
JSON=1 dnslookup example.org 94.140.14.14

Disable certificates verification:

bash
VERIFY=0 dnslookup example.org tls://127.0.0.1

Specify the type of resource record (default A):

bash
RRTYPE=AAAA dnslookup example.org tls://127.0.0.1
RRTYPE=HTTPS dnslookup example.org tls://127.0.0.1

Specify the class of query (default IN):

bash
CLASS=CH dnslookup example.org tls://127.0.0.1

Set DNSSEC DO bit in the request's OPT record:

bash
DNSSEC=1 dnslookup example.org tls://8.8.8.8

Specify EDNS subnet:

bash
SUBNET=1.2.3.4/24 dnslookup example.org tls://8.8.8.8

Add EDNS0 Padding:

bash
PAD=1 dnslookup example.org tls://127.0.0.1

Specify EDNS option with code point code and optionally payload of value as a hexadecimal string: EDNSOPT=code:value. Example (equivalent of dnsmasq's --add-cpe-id=12345678):

bash
EDNSOPT=65074:3132333435363738 RRTYPE=TXT dnslookup o-o.myaddr.l.google.com tls://8.8.8.8

Combine multiple options:

bash
RRTYPE=TXT SUBNET=1.1.1.1/24 PAD=1 dnslookup o-o.myaddr.l.google.com tls://8.8.8.8

Verbose-level logging:

bash
VERBOSE=1 dnslookup example.org tls://dns.adguard-dns.com

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Go

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言