Skip to main content

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.

Project description

PyPI GitHub last commit CodeFactor GitHub issues GitHub branch checks state 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: GitHub Sponsors Liberapay patrons


How to Use

If you look for the changelog history, you can find it here.

1. Installation

1.1. Installation Through PyPi

PyPI

If you would like to install it as a Python package, run the following command.

pip install Domainia
# or
python -m pip install Domainia

1.2. Installation form the Source

First, clone the package from Github.

git clone https://github.com/namnamir/domainia.git

Then, by running the following command, install all required dependencies for the current user.

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. Define APIs

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.

  -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

Run Domainia Scanner

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. Results in CSV Results in CSV

6. JSON Format

[
  "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.

⚠️ Disclaimer Domainia tool is tool for legitimate purposes. Do not use it in any illegitimate or illegal activities.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

domainia-2.2.0.tar.gz (51.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

domainia-2.2.0-py3-none-any.whl (82.8 kB view details)

Uploaded Python 3

File details

Details for the file domainia-2.2.0.tar.gz.

File metadata

  • Download URL: domainia-2.2.0.tar.gz
  • Upload date:
  • Size: 51.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for domainia-2.2.0.tar.gz
Algorithm Hash digest
SHA256 672abdc2a901ed7ffd1128c1f00be3df92ea7bf6090e2216993be4937ce27c0c
MD5 59122bc79400b79a33b5f14a3df313f9
BLAKE2b-256 52a099fece9ee56d7d1afe2f11068acaa73bdd8a670f7006f5651ee9ebaf7495

See more details on using hashes here.

File details

Details for the file domainia-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: domainia-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 82.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for domainia-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8fdfa7b744868489145a50fac73f980de6933b88e8efb769076279707028842f
MD5 5aff937b556a89c11d3c7bd1c0db5f42
BLAKE2b-256 f74cdb9f3f2e67da47d88ff68247dfd84f4edd2b5dac3fadcd8bb69d4b4105ec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page