You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor and enhance DNS resolution tool with new features
- Introduced wildcard DNS detection, exiting early unless overridden with `-force`.
- Implemented wordlist deduplication, reporting duplicates removed during loading.
- Replaced `-retries` flag with `-attempts` for clarity, maintaining backward compatibility with a warning.
- Refactored code into `internal/dns`, `internal/output`, and `internal/wordlist` packages for better organization.
- Updated output handling to direct results to stdout and diagnostics to stderr, improving pipe compatibility.
- Bumped version to 0.4.0 and documented changes in CHANGELOG.md.
> **Authorized use only.** Only scan domains you own or have explicit written permission to test. Unauthorized scanning may violate applicable laws. Users are solely responsible for compliance.
79
86
87
+
> [!NOTE]
88
+
> **Wildcard DNS detection.** Before scanning, subenum resolves two random subdomains to check for wildcard DNS. If the domain uses wildcard records, the tool exits with a warning (all subdomains would resolve, making results meaningless). Pass `-force` to override and scan anyway.
89
+
80
90
> [!CAUTION]
81
91
> **Simulation mode** (`-simulate`) generates synthetic results and performs zero network I/O. Do not confuse simulated output with real DNS data.
82
92
@@ -122,13 +132,15 @@ make help # list all targets
122
132
|`-t <n>`|`100`| Concurrent worker goroutines |
123
133
|`-timeout <ms>`|`1000`| Per-query DNS timeout in milliseconds |
124
134
|`-dns-server <ip:port>`|`8.8.8.8:53`| DNS server address (validated on startup) |
125
-
|`-retries <n>`|`1`| Retry attempts per subdomain on failure |
135
+
|`-attempts <n>`|`1`| Total DNS resolution attempts per subdomain (1 = no retry) |
136
+
|`-force`|`false`| Continue scanning even if wildcard DNS is detected |
126
137
|`-o <file>`| -- | Write results to file in addition to stdout |
127
-
|`-v`|`false`| Verbose output: IPs, timings, per-query status |
128
-
|`-progress`|`true`| Live progress line (disable with `-progress=false`) |
138
+
|`-v`|`false`| Verbose output: IPs, timings, per-query status (written to stderr) |
139
+
|`-progress`|`true`| Live progress line on stderr (disable with `-progress=false`) |
129
140
|`-simulate`|`false`| Simulation mode: no real DNS queries |
0 commit comments