Dnsgen
1.0.4DNSGen is a powerful and flexible DNS name permutation tool designed for security researchers and penetration testers.
- Verified 24 Sept 2026
- pip 1.0.4
- MIT
- 1.1k stars
Install and run
otlite install dnsgenInstalls
dnsgen==1.0.4into its own virtualenv. otlite lists what it will install and asks before it starts.otlite run dnsgen -- --helpDnsgen has no typed inputs. Everything after
--goes todnsgenunchanged, so pass its own arguments there.
No otlite yet? Install it in one line
curl -fsSL https://get.otinstaller.com/otlite | shLinux and macOS, no Docker. It uses your Python and pipx when both are there, and otherwise brings its own Python. About otlite · otlite docs
What it takes
Dnsgen has no typed inputs, though it works on domain. Pass its own arguments after --; otlite run dnsgen -- --help lists them.
What a run leaves
Every run is saved under results/ where you run otlite (or --output, or OTLITE_RESULTS_DIR): what the tool printed, a sidecar with how it ran, and an envelope.
results/dnsgen/johndoe/<time>_dnsgen_johndoe_<run id>.txtresults/dnsgen/johndoe/<time>_dnsgen_johndoe_<run id>.meta.jsonresults/dnsgen/johndoe/<time>_dnsgen_johndoe_<run id>.envelope.json
{
"envelope": 1,
"tool": "dnsgen@1.0.4",
"runtime": "otlite",
"input": { "target": "johndoe" },
"case": null,
"started_at": "…", "ended_at": "…", "duration_ms": …,
"exit_code": 0,
"status": "complete",
"entities": [{ "type": "url", "value": "…" }, …],
"warnings": [],
"output": { "path": "results/dnsgen/johndoe/<time>_dnsgen_johndoe_<run id>.txt", "sha256": "…", "bytes": … }
}otlite results --tool dnsgenotlite extract dnsgenotlite diff dnsgen johndoeList the saved runs, pull out every indicator, or compare the two latest runs against the same target.
With other tools
Batch runs can't pass it a value, so run it on its own.