
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.
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.
--threads option.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.
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.
**********************************************************************************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 0 to 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 on google.com to 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-budget
like any other source, or --exclude-sources wayback,commoncrawl to 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.
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.
If you have a problem or a feature request, open an issue.
This project exists thanks to all the people who contribute. See the contributors list.