doggo — 네트워크 분석 및 진단
최신 도구 가이드 / 네트워크 분석 및 진단 / doggo.html
dig를 대체하는 모던 DNS 조회 클라이언트. 컬러 출력, JSON, 여러 레코드 동시 조회를 지원.
기본 정보
| 프로그램 이름 | doggo (도고) |
|---|---|
| 한 줄 소개 | dig를 대체하는 모던 DNS 조회 클라이언트. 컬러 출력, JSON, 여러 레코드 동시 조회를 지원. |
| 개발·유지 | Karan Rajeev (mr-karan) |
| 공식 홈페이지 | https://doggo.mrkaran.dev |
| 공식 문서 | https://doggo.mrkaran.dev/docs/ |
| 공식 다운로드 | https://doggo.mrkaran.dev/docs/getting-started/installation/ |
| 지원 운영체제 | Linux, macOS, Windows (바이너리·홈브류·데비안·RPM) |
| 라이선스 | Apache-2.0 |
| 안정 버전 | 1.0.x — 확인일 2026-10-18 |
| GitHub 저장소 | https://github.com/mr-karan/doggo |
| 분류 | 네트워크 분석 및 진단 (태그: DNS, dig, 조회, CLI, Go) |
이 프로그램은 무엇인가?
doggo는 표준 dig 명령을 대체하도록 설계된 현대적인 DNS 조회 도구입니다. 컬러로 구분된 출력, JSON·테이블 형식 선택, 여러 레코드(A·AAAA·MX·TXT 등)를 한 번에 조회하는 기능을 제공합니다.
Go로 작성되어 어디서든 단일 바이너리로 동작하며, DNS over HTTPS(DoH)와 DNS over TLS(DoT)도 지원합니다. 기본 시스템 DNS 설정을 따르거나 임의의 네임서버를 지정할 수 있습니다.
어떤 문제를 해결하는가?
- dig의 디폴트 출력이 읽기 어려울 때 컬러·정리된 형식으로 확인합니다.
- 도메인의 여러 레코드(MX, TXT, NS 등)를 한 번에 조회할 때 사용합니다.
- DNS over HTTPS로 프라이버시를 지키며 조회할 때 사용합니다.
- JSON 형식으로 DNS 결과를 스크립트에 파싱할 때 사용합니다.
주요 기능
다중 레코드 동시 조회
A, AAAA, MX, TXT, NS, CNAME 등을 한 번에 조회할 수 있습니다.
- 활용 상황: 도메인 설정을 점검할 때 각 레코드를 따로 조회하지 않아도 됩니다.
- 얻는 결과: 모든 레코드를 한 화면에서 확인합니다.
- 제한 사항: 일부 비표준 레코드는 지원하지 않을 수 있습니다.
JSON 출력
조회 결과를 JSON 형식으로 출력해 스크립트·자동화에 활용할 수 있습니다.
- 활용 상황: CI/CD 파이프라인에서 DNS 설정을 자동 검증할 때 사용합니다.
- 얻는 결과: DNS 결과를 구조화된 데이터로 처리할 수 있습니다.
- 제한 사항: 대량 조회 시 JSON 출력이 길어질 수 있습니다.
DNS over HTTPS / TLS
DoH·DoT 프로토콜로 암호화된 DNS 조회를 지원합니다.
- 활용 상황: ISP DNS의 변조·감청 우려가 있을 때 사용합니다.
- 얻는 결과: 암호화 채널로 DNS 질의를 보낼 수 있습니다.
- 제한 사항: DoH 서버 응답이 일반 DNS보다 느릴 수 있습니다.
커스텀 네임서버
조회에 사용할 DNS 서버를 임의로 지정할 수 있습니다.
- 활용 상황: 특정 네임서버(예: 8.8.8.8, 1.1.1.1)로의 전파 상태를 확인할 때 사용합니다.
- 얻는 결과: 서버별 DNS 응답 차이를 비교할 수 있습니다.
- 제한 사항: 지정한 서버가 응답하지 않으면 조회가 실패합니다.
설치 및 실행
스크립트 설치 (Linux/macOS)
공식 설치 스크립트로 간편하게 설치합니다.
curl -sSfL https://raw.githubusercontent.com/mr-karan/doggo/main/install.sh | sh -s -- -b /usr/local/bin
# 설치 확인
doggo --version
cargo (Rust 바이너리)
cargo로도 설치할 수 있습니다.
cargo install doggo-cli
doggo --version
macOS / Homebrew
Homebrew로 설치합니다.
brew install doggo
실제 사용 예제
기본 DNS 조회 (A 레코드)
도메인의 IPv4 주소를 조회합니다.
# 기본 A 레코드 조회
doggo example.com
# 여러 레코드 동시 조회
doggo example.com A,AAAA,MX,TXT
특정 네임서버로 조회
원하는 DNS 서버로 질의합니다.
# Cloudflare DNS로 조회
doggo example.com @1.1.1.1
# Google DNS로 조회
doggo example.com @8.8.8.8
JSON 출력으로 조회
결과를 JSON 형식으로 받아 스크립트에 활용합니다.
# JSON 형식 출력
doggo example.com MX --json
# jq로 파싱
doggo example.com A --json | jq '.[0].data'
DoH로 프라이버시 조회
DNS over HTTPS로 암호화 질의를 보냅니다.
# DoH 사용
doggo example.com --short --https https://cloudflare-dns.com/dns-query
# DoT 사용
doggo example.com --tls --resolver 1.1.1.1:853