epi052/feroxbuster · error
Could not find any live targets to scan
Error message
Could not find any live targets to scan
What it means
After the connectivity heuristic filters targets, wrapped_main checks whether any live targets remain. An empty list means every configured target was non-responsive, so there is nothing to scan and the tool exits deliberately with this message.
Solutions
- Verify each target URL manually with curl to confirm it responds
- Check whether a proxy or firewall is dropping the probe requests
- Remove dead hosts from the target list / stdin input
- Retry if the target was temporarily unavailable
Example fix
// before feroxbuster -u https://dead-host.example // after curl -I https://dead-host.example # confirm 200/3xx/4xx response feroxbuster -u https://live-host.example
Defensive patterns
Strategy: validation
Validate before calling
for h in $TARGETS; do curl -sk -o /dev/null --max-time 5 "$h" || echo "dead: $h"; done
Prevention
- Sanitize target lists for dead hosts before scanning
- Confirm the target answers HTTP probes, not just ping
- Watch for proxies/firewalls silently dropping probes
When it happens
Trigger: HeuristicTests::connectivity(&targets) returns Ok but with an empty live-target set - i.e. all targets were probed and none responded successfully.
Common situations: Scanning hosts that are offline or refuse the probe request, targets filtered out by proxy issues, targets that return 5xx/4xx to the probe, or --connectivity-test expectations differing from the target's behavior.
Understand the failure class
Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.
Related errors
- Could not connect to any target provided
- err.to_string()
- JSON has no tag_name
- [ ] Unable to download wordlist from url
- e
AI-assisted analysis of epi052/feroxbuster@1f595dab5c (2026-09-13).
Data as JSON: /api/errors/24e9970ffb8625a5.
Report an issue: GitHub.
Appendix: source
Thrown at src/main.rs:579
let msg = format!("Couldn't start {} file handler", config.output);
bail!(fmt_err(&msg));
}
}
// discard non-responsive targets
let live_targets = {
let test = heuristics::HeuristicTests::new(handles.clone());
let result = test.connectivity(&targets).await;
if let Err(err) = result {
clean_up(handles, tasks).await?;
bail!(fmt_err(&err.to_string()));
}
result?
};
if live_targets.is_empty() {
clean_up(handles, tasks).await?;
bail!(fmt_err("Could not find any live targets to scan"));
}
// kick off a scan against any targets determined to be responsive
match scan(live_targets, handles.clone()).await {
Ok(_) => {}
Err(e) => {
clean_up(handles, tasks).await?;
bail!(fmt_err(&format!("Failed while scanning: {e}")));
}
}
clean_up(handles, tasks).await?;
log::trace!("exit: wrapped_main");
Ok(())
}
/// Single cleanup function that handles all the necessary drops/finishes etc required to gracefullyView on GitHub (pinned to 1f595dab5c)