
Findomain v11.0.0-beta.2
The fastest and complete solution for domain recognition. Supports screenshoting, port scan, HTTP check, data import from other tools, subdomain monitoring, alerts via Discord, Slack and Telegram, multiple API Keys for sources and much more.
Findomain

The complete solution for domain recognition. Supports screenshotting, port scanning, importing data from other tools, subdomain monitoring, and more. Be alerted on your findings through services such as Discord, Slack, and Telegram. Multiple API Keys for sources and much more.
Chat with us
What Can Findomain Do?
The following table demonstrates features that are available in the premium version (but not the free version) of Findomain. It aims to gives you an idea of why you should use Findomain and what it can do for you. The domain used for the test was aol.com. The details of the BlackArch virtual machine used in the test are outlined below:
Host: KVM/QEMU (Standard PC (i440FX + PIIX, 1996) pc-i440fx-3.1)
Kernel: 5.2.6-arch1-1-ARCH
CPU: Intel (Skylake, IBRS) (4) @ 2.904GHz
Memory: 139MiB / 3943MiB
The tool used to calculate the time was Linux's time command.
| Enumeration Tool | Search Time | Total Subdomains Found | CPU Usage | RAM Usage |
|---|---|---|---|---|
| Findomain | real 0m5.515s | 84110 | Very Low | Very Low |
Summary: 84110 subdomains in 5.5 seconds.
Features
- Subdomains monitoring: put data to Discord, Slack or Telegram webhooks. See Subdomains Monitoring for more information.
- Multi-thread support for API querying, it makes that the maximun time that Findomain will take to search subdomains for any target is 15 seconds (in case of API's timeout).
- Parallel support for subdomains resolution, in good network conditions can resolv about 3.5k of subdomains per minute.
- DNS over TLS support.
- Specific IPv4 or IPv6 query support.
- Discover subdomains without brute-force, it tool uses Certificate Transparency Logs and APIs.
- Discover only resolved subdomains.
- Discover subdomains IP for data analysis.
- Read target from user argument (-t) or file (-f).
- Write to one unique output file specified by the user all or only resolved subdomains.
- Write results to automatically named TXT output file(s).
- Hability to query directly the Findomain database created with Subdomains Monitoring for previous discovered subdomains.
- Hability to import and work data discovered by other tools. See Working with other tools.
- Quiet mode to run it silently.
- Cross platform support: Any platform, it's written in Rust and Rust is multiplatform. See the documentation for instructions.
- Multiple API support.
- Possibility to use as subdomain resolver.
- Subdomain wildcard detection for accurate results.
- Support for subdomain discover using bruteforce method.
- Support for configuration file in TOML, JSON, INI or YAML format.
- Custom DNS IP addresses for fast subdomains resolving (more than 60 per second by default, adjustable using the
--threadsoption.
Findomain in Depth
See Subdomains Enumeration: what is, how to do it, monitoring automation using webhooks and centralizing your findings for a detailed guide, including real-world examples, of how to get the most out of the tool.
How Does It Work?
Findomain uses Certificate Transparency logs and well-tested APIs to find subdomains. This method makes the tool much faster and more reliable than alternatives. If you want to know more about Certificate Transparency logs, read https://www.certificate-transparency.org/
Findomain queries 54 passive sources. Every one of them parses a documented data format, JSON in almost every case: there is no HTML scraping anywhere, so a redesigned web page can never quietly turn results into noise. Paginated APIs are walked to the last page.
- 360 PassiveDNS
** - Ahrefs
** - AlienVault OTX
** - AnubisDB
- Arquivo.pt
- BeVigil
** - BinaryEdge
** - BufferOver (free)
** - BufferOver (paid)
** - BuiltWith
** - C99
** - Censys
** - CertSpotter
* - Chaos
** - CIRCL PassiveDNS
** - CommonCrawl
- Crt.sh (database mirror)
- Deepinfo
** - Detectify
** - DigiCert CertCentral
** - DNSlytics
** - DNSRepo
** - Facebook CT
** - Farsight DNSDB
** - FOFA
** - FullHunt
** - HackerTarget
* - Hunter.io
** - IntelX
** - LeakIX
** - Maltiverse
- Mnemonic PassiveDNS
- Netlas
** - ONYPHE
** - PassiveTotal
** - Pentest-Tools
** - PublicWWW
** - Pulsedive
** - Quake
** - SecurityTrails
** - Shodan
** - SOCRadar
** - Spamhaus PassiveDNS
** - Subdomain Center
- Sublist3r
- ThreatBook
** - Threatminer
- UK Web Archive
- Urlscan.io
- VirusTotal
** - Wayback Machine
- WhoisXMLAPI
** - ZETAlytics
** - ZoomEye
**
Any source can be turned off with --exclude-sources, for example
--exclude-sources wayback,commoncrawl.
Working with other tools
Findomain reads the results of any other enumerator through
--import-subdomains, which accepts as many files as you care to give it:
subfinder -d example.com -silent > subfinder.txt
amass enum -d example.com && amass subs -d example.com -names -show > amass.txt
findomain -t example.com --import-subdomains subfinder.txt amass.txt -r
The imported names join the ones Findomain discovers itself, and the whole set goes through the same resolution, filtering and reporting. Driving those tools yourself means their own flags, configuration files and API keys apply, which a wrapper could never express.
How long the search takes
Sources are queried in parallel, so the search lasts as long as its slowest source rather than the sum of all of them. In practice a search settles in about twenty seconds, and two options bound the cases where it would not:
-
--source-timeout(default 30) is the number of seconds a single request to a source may take. -
--source-budget(default 300) is the number of seconds the whole search may spend. This is a backstop for a source that hangs, not the thing that decides how long a run takes, so a source paging through thousands of real results is left to finish. Use--source-budget 0to remove the limit entirely. -
--archive-budget(default 20) is the number of seconds the archive indexes (Wayback, CommonCrawl, UK Web Archive and Arquivo) may spend between them. They are the only sources that cannot stop on their own: a CDX index is a bulk download of every URL archived under a domain, sliced into storage blocks rather than into pages of distinct hostnames, so it keeps costing requests long after it has stopped producing new names. Left alone, CommonCrawl spends over two minutes ongoogle.comto return exactly the hostnames it already had after twenty seconds. Raise this if you would rather wait than miss what the archives hold on a small domain, use 0 to hold them to--source-budgetlike any other source, or--exclude-sources wayback,commoncrawlto skip them. They are also the slowest sources by a wide margin, so this is the knob that decides how long a run takes.
Whenever a limit is reached no new request is made and whatever the source had
already collected is kept, so a cut search returns fewer results, never none.
All three can also be set in findomain.toml as source_timeout,
source_budget and archive_budget.
Notes
APIs marked with **, require an access token to work. Search in the Findomain documentation for help on how to configure and use it.
APIs marked with * can optionally be used with an access token. Create one if you start experiencing problems with that API. Search in the Findomain documentation for help on how to configure and use it.
More APIs?
If you know other APIs that should be added, comment here.
Installation
We offer ready-to-use binaries for the following platforms (64-bit only):
If you need to run Findomain on another platform, continue reading the documentation.
Issues and Requests
If you have a problem or a feature request, open an issue.
Stargazers over Time
Contributors
Code Contributors
This project exists thanks to all the people who contribute. See the contributors list.