Updated Jul 15, 2026

Network

Pull exposed hosts from internet search engines

Passive host discovery across multiple search-engine indexes.

Agent

overview

What uncover does

uncover fans one hunt across internet search engines so a single expression can return hosts from FOFA, Quake, Censys, Shodan, and related indexes without scanning the targets yourself.

Per-engine query files (-fofa, -quake, -censys, -shodan) and -engine select sources. -json emits JSONL; -field picks ip, port, or host; -limit and -retry keep large hunts inside provider quotas.

Trickest runs uncover as a managed network node that writes a file and a folder. Pair it with httpx or naabu to actively confirm results, because engine indexes can be stale.

source github.com/projectdiscovery/uncover

use cases

Where uncover fits

Seed a target list without scanning

Query Shodan or Censys for an org's exposed services and pull back the matching ips and ports, all sourced passively from the engines' own data.

Fan one query across many engines

Run the same search through Shodan, FOFA, Quake, and ZoomEye in a single node so coverage compounds across each provider's index.

Hand structured hosts to active tooling

Emit JSONL and choose the ip:port field so a downstream prober or port scanner receives clean, structured targets to confirm.

Stay inside provider quotas

Set limit, rate-limit, and retry to keep a wide query within each engine's free or paid tier while still covering the surface.

reference

uncover inputs and flags

29 inputs
NameTypeFlagDescription
rawBOOLEAN-rawwrite raw output as received by the remote api
fofaFILE-fofasearch query for fofa
jsonBOOLEAN-jsonwrite output in JSONL(ines) format
fieldSTRING-fieldfield to display in output (ip,port,host) (default "ip:port")
limitSTRING-limitlimit the number of results to return (default 100)
quakeFILE-quakesearch query for quake
retrySTRING-retrynumber of times to retry a failed request (default 2)

Showing key inputs. uncover exposes 29 inputs in total.

Full flag reference (29 inputs)
NameTypeFlagDescription
rawBOOLEAN-rawwrite raw output as received by the remote api
fofaFILE-fofasearch query for fofa
jsonBOOLEAN-jsonwrite output in JSONL(ines) format
fieldSTRING-fieldfield to display in output (ip,port,host) (default "ip:port")
limitSTRING-limitlimit the number of results to return (default 100)
quakeFILE-quakesearch query for quake
retrySTRING-retrynumber of times to retry a failed request (default 2)
censysFILE-censyssearch query for censys
configFILE-configconfiguration file
engineSTRING-enginesearch engine to query (shodan,shodan-idb,fofa,censys,quake,hunter,zoomeye,netlas,publicwww,criminalip,hunterhow) (default shodan)
googleFILE-googlesearch query for google
hunterFILE-huntersearch query for hunter
netlasFILE-netlassearch query for netlas
shodanFILE-shodansearch query for shodan
silentBOOLEAN-silentshow only results in output
timeoutSTRING-timeouttimeout in seconds (default 30)
verboseBOOLEAN-vshow verbose output
zoomeyeFILE-zoomeyesearch query for zoomeye
no-colorSTRING-no-colordisable colors in output
providerFILE-providerprovider configuration file
hunterhowFILE-hunterhowsearch query for hunterhow
publicwwwFILE-publicwwwsearch query for publicwww
criminalipFILE-criminalipsearch query for criminalip
query-fileFILE-querysearch query file
rate-limitSTRING-rate-limitmaximum number of http requests to send per second
shodan-idbFILE-shodan-idbsearch query for shodan-idb
query-stringSTRING-querysearch query string
rate-limit-minuteSTRING-rate-limit-minutemaximum number of requests to send per minute
awesome-search-queriesSTRING-awesome-search-queriesuse awesome search queries to discover exposed assets on the internet (example: -asq 'jira')

example

Run uncover

uncover · command
# uncover: pull hosts matching an SSL title from multiple enginesuncover -q 'ssl:"example.com"' -censys -fofa -json -limit 50
sample output
198.51.100.10:443203.0.113.5:8443api.example.com:443dev.example.com:443192.0.2.8:80staging.example.com:443

guidance

Choosing uncover

Use uncover when you want passive exposure data from search engines rather than scanning the internet yourself. API keys are required for most engines. Confirm surfaced hosts with httpx or a port scanner before treating them as live.

shodan-python

Talks to Shodan only. uncover fans the same hunt across many engines.

nrich

Enriches a known IP list with Shodan data. uncover discovers hosts first.

naabu

Active port scanner. Run it after uncover to confirm reported ports.

faq

uncover questions

No. It reads each engine's existing index, so it sends no traffic to the hosts. Confirm findings with a prober or port scanner.

Run uncover yourself

A search query feeds uncover, which pulls matching hosts from internet search engines and passes them to httpx for active confirmation before they land as a queryable output.

Facts on this page come from the live Trickest tool library.