콘텐츠로 이동

doggo - 현대적 DNS 클라이언트 치트시트

doggo - 현대적 DNS 클라이언트 치트시트

doggo는 명령줄을 위한 현대적 DNS 클라이언트 — dig의 친숙하고 색상화된 대안으로 깔끔한 표 형식 또는 JSON 출력을 제공합니다. 기존 UDP/TCP 쿼리 이외에도 현대적 암호화된 전송을 지원합니다: DNS-over-HTTPS (DoH), DNS-over-TLS (DoT), DNS-over-QUIC (DoQ), 그리고 DNSCrypt. Go로 작성되었으며 단일 바이너리로 배포되고, 빠른 조회 및 스크립트된 DNS 진단 모두에 유용합니다.

설치

플랫폼명령어
Go installgo install github.com/mr-karan/doggo/cmd/doggo@latest
macOS (Homebrew)brew install doggo
Arch Linuxsudo pacman -S doggo
Dockerdocker run --rm ghcr.io/mr-karan/doggo doggo example.com
바이너리GitHub Releases 페이지에서 다운로드

기본 쿼리

명령어설명
doggo example.com기본 A 레코드 조회
doggo example.com MX특정 레코드 타입 쿼리
doggo example.com A AAAA MX여러 레코드 타입 동시 쿼리
doggo example.com @1.1.1.1특정 해석기 사용
doggo --help전체 옵션 목록
doggo --version버전

레코드 타입

예제반환 값
doggo example.com AIPv4 주소
doggo example.com AAAAIPv6 주소
doggo example.com MX메일 서버
doggo example.com TXTTXT 레코드 (SPF, DKIM, 검증)
doggo example.com NS네임 서버
doggo example.com CNAME정규 이름
doggo example.com SOA권한의 시작
doggo example.com CAA인증 기관 인증

암호화 및 대체 전송

명령어전송
doggo example.com @https://cloudflare-dns.com/dns-queryDNS-over-HTTPS (DoH)
doggo example.com @tls://1.1.1.1DNS-over-TLS (DoT)
doggo example.com @quic://dns.adguard.comDNS-over-QUIC (DoQ)
doggo example.com @sdns://...DNSCrypt (stamp)
doggo example.com @udp://1.1.1.1명시적 UDP
doggo example.com @tcp://1.1.1.1명시적 TCP

출력 제어

옵션설명
--jsonJSON 출력 (스크립트에 좋음)
--short답변 값만 출력
--color=false색상화 출력 비활성화
--time쿼리 왕복 시간 표시
-4 / -6IPv4 / IPv6 전송 강제

역방향 및 고급

명령어설명
doggo --reverse 1.1.1.1역방향 DNS (PTR) 조회
doggo example.com --ndots=1ndots 해석 동작 제어
doggo example.com --search시스템 검색 목록 사용
doggo example.com --aa권한 있는 답변 요청
doggo example.com --doDNSSEC OK 비트 설정

일반적인 워크플로우

# 빠르고 인간이 읽을 수 있는 답변만
doggo --short example.com

# 메일 설정 한눈에 확인
doggo example.com MX TXT

# DoH 해석기 테스트 및 시간 측정
doggo example.com @https://dns.google/dns-query --time

# 모니터링용 스크립트 친화적 JSON
doggo example.com A --json | jq '.responses[].answers'

# IP에 대한 역방향 레코드 확인
doggo --reverse 8.8.8.8 --short

doggo vs dig vs dog

기능doggodigdog
색상화 출력아니오
JSON 출력아니오
DoH / DoT / DoQ제한적
DNSCrypt아니오아니오
단일 바이너리예 (Go)시스템 pkg예 (Rust)

리소스