https://github.com/namnamir/domainia
Domainia helps to find subdomains, DNS records, IP addresses, SSL Certificates, HTTP info, etc. of domain by doing the passive reconnaissance.
https://github.com/namnamir/domainia
certifi certificate dns ip ipv4 ipv6 osint osint-python ssl ssl-certificates subdomain subdomain-enumeration subdomain-scanner whois whois-lookup
Last synced: 6 months ago
JSON representation
Domainia helps to find subdomains, DNS records, IP addresses, SSL Certificates, HTTP info, etc. of domain by doing the passive reconnaissance.
- Host: GitHub
- URL: https://github.com/namnamir/domainia
- Owner: namnamir
- License: mit
- Created: 2021-10-07T09:54:35.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-10-30T14:29:45.000Z (9 months ago)
- Last Synced: 2025-10-30T14:38:39.060Z (9 months ago)
- Topics: certifi, certificate, dns, ip, ipv4, ipv6, osint, osint-python, ssl, ssl-certificates, subdomain, subdomain-enumeration, subdomain-scanner, whois, whois-lookup
- Language: Python
- Homepage: https://irsec.eu
- Size: 1.98 MB
- Stars: 10
- Watchers: 1
- Forks: 1
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[](https://pypi.org/project/Domainia/)  [](https://www.codefactor.io/repository/github/namnamir/domainia) [](https://github.com/namnamir/domainia/issues)  [](LICENSE)

**Domainia** Scanner is an automated Open-source Intelligence (OSINT) tool that enumerates subdomains, all DNS records, IP addresses, related domains/subdomains, certificate details, site info, HTTP status, name servers (NS), domain whois, and etc. of a single domain or a list of domains by using the passive and active reconnaissance techniques.
❤ Support Domainia:  [](https://liberapay.com/namnamir/donate)

---
# How to Use
If you look for the changelog history, you can find it [here](https://github.com/namnamir/domainia/blob/main/CHANGELOG.md).
## 1. Installation
### 1.1. Installation Through [PyPi](https://pypi.org/project/Domainia/)
[](https://pypi.org/project/Domainia/)
If you would like to install it as a Python package, run the following command.
```bash
pip install Domainia
# or
python -m pip install Domainia
```
### 1.2. Installation form the Source
First, clone the package from Github.
```bash
git clone https://github.com/namnamir/domainia.git
```
Then, by running the following command, install all required dependencies for the current user.
```Bash
pip install -r requirements.txt --user
# or
python -m pip install -r requirements.txt --user
```
## 2. Add API Keys
Modify the file `api_keys.py` and add the API keys of the mentioned tools.

## 3. Check the Configuration File
Open the file `config.py` and modify it if needed. For each section of it, there is an explanation as the comment.
There are many options can be modified in the config file. Here are a list of the options:
- `date_format` to set the data and time format
- `scan_type` to set the scan type
- `dns_records` to set which DNS records should be enumerated
- `include_txt_records` to set which TXT records should be written in the output file
- `dns_servers` to set the DNS servers
- `delimiter` to set the delimiters for each data to be written into the CSV file
- `whois` to set which Whois detail should be written into the CSV file
- `ssl` to set which SSL detail should be written into the CSV file
- `api` to modify details of the APIs including the data/time format
## 4. Run the Script
The script can be run in 2 modes, loading the list of domains from a file or from the command.
```bash
-h, --help
Show this help message and exit
-f FILE, --file FILE
Path to the list of domain names, e.g. domains.txt
-d DOMAIN, --domain DOMAIN
The comma separated list of domains
-w WHOIS, --whois WHOIS
Whois API; default "whoisxml".
Possible options: "whoisxml" and "whoxy"
-t TYPE, --type TYPE
Type of the scan. If it is set, it will ignore the config file value for the scan type.
Possible options: "quick" and "deep"
-o OUTPUT, --output OUTPUT
The name of the output CSV file, e.g. results.csv
```

## 5. Results (CSV)
Result of the scan would be saved in a CSV file. You can manage the path of the output file by the argument `-o` or `--output`.


## 6. JSON Format
```json
[
"example.com": {
"DNS": [
{
"record": "A",
"value": "1.2.3.4",
},
],
"related_ip" : [
{
"name": "1.2.3.4",
"version": "IPv4",
"whois": {},
"listed": [],
"technologies" : [],
"ports": [],
"reverse_dns": [],
"vulnerabilities": [],
},
],
"related_domains" : [
{
"name": "site.tld",
"whois": {},
"listed": [],
"technologies" : [],
"ports": [],
"vulnerabilities": [],
"http_headers": [],
"html_meta": [],
"subdomains": [],
"related_domains": []
},
],
"html": {
"meta": [
{
"name": "",
"value": "",
}
],
"redirects": [],
"status_code": 200,
"title": "",
"analytics": [
{
"name": "Google",
"value": "UA-123"
}
]
},
"http_headers": [
{
"name": "",
"value": "",
}
],
"whois": {},
"listed": [],
}
]
```
---
⚖️ **Copyright**
Domainia tool is released under copy left; there is no right. Just kidding, it is under MIT license; read more about it on the [LICENSE page](https://github.com/namnamir/domainia/blob/main/LICENSE).
⚠️ **Disclaimer**
Domainia tool is tool for legitimate purposes. Do not use it in any illegitimate or illegal activities.