93c5ca7bba
CI / test (pull_request) Failing after 2m14s
Fix short flags, AllowTCP wiring, invalid root server error, add config tests
- Register -v/-q short flag aliases sharing the same bool variable as
  --verbose/--quiet so both forms work identically
- Register -d and -dd flags; use ParseDebugLevel() helper so -d sets
  Debug=1 and -dd sets Debug=2; remove the broken strings.Count approach
- Add AllowTCP field to dns.QueryConfig; guard TCP truncation fallback in
  QueryWithExchange and IterativeQueryWithExchange behind cfg.AllowTCP;
  wire cfg.AllowTCP from CLI config into QueryConfig in main.go
- ParseRootServer() now returns ErrInvalidRootServer instead of (nil,nil)
  when the string is non-empty but net.ParseIP fails
- Add internal/config/config_test.go covering ParseQueryType, ParseUDPSize,
  Validate, GetDomain, ParseRootServer, ParseDebugLevel, and the
  --always-tcp/--allow-tcp cross-check
- Add TestQueryNoTCPFallbackWhenDisabled to dns/query_test.go
- Update existing truncation tests to set AllowTCP:true
- Add TODO comments on display flags not yet wired to output layer

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-08 01:29:46 +10:00
2026-06-05 04:49:39 +00:00
2026-06-05 04:49:39 +00:00

ExploreDNS

DNS reconnaissance and exploration tool.

Build

go build -o bin/exploredns ./cmd/exploredns

Or use the Makefile:

make build

Usage

./bin/exploredns <domain>

Development

make test    # run tests
make lint    # run go vet
make clean   # remove build artifacts

Project Structure

cmd/exploredns/        CLI entry point
internal/dns/          DNS query operations
internal/traverse/     DNS tree traversal
internal/fingerprint/  DNS server fingerprinting
internal/output/       Result formatting and output
internal/config/       Configuration management

License

MIT

S
Description
ExploreDNS is a comprehensive DNS traversal tool that explores every possible resolution path for a domain — from the root servers all the way down — just like a real iterative resolver, but without stopping at the first answer. It follows every referral exhaustively, collates all results, and presents them in a structured, human-readable (or JSON) report.
https://exploredns.hansenits.com
Readme GPL-3.0
14 MiB
2026-07-07 15:16:11 +00:00
Languages
Go 84.3%
HTML 14%
Shell 1.5%
Makefile 0.2%