skillfed

dnstwist

Domain name permutation engine for detecting homograph phishing attacks, typo squatting, and brand impersonation

dnstwist v20250130 119.7K downloads/30d#12,058 on PyPI5,727
Permissive license ASL 2.0 AGING released

What it is and what it does

dnstwist is a domain fuzzing tool that generates permutations of a given domain name to uncover potentially malicious lookalike domains. It applies multiple fuzzing algorithms (homoglyph, hyphenation, transposition, and others) to create variants and then verifies which ones are registered via DNS lookups. The tool is designed to help organizations identify typosquatting, phishing, and brand impersonation threats targeting their domain.

Beyond basic domain enumeration, dnstwist offers advanced threat detection: it can compare HTML source code of discovered domains against the original using fuzzy hashing (ssdeep or TLSH) to detect phishing sites with similar content, capture and compare web page screenshots using perceptual hashing when Chromium is available, detect rogue MX hosts, and perform GeoIP lookups on resolved addresses. Results can be exported to CSV or JSON, and the tool exposes a Python API for programmatic use.

Use it for:

  • Monitor for typosquatted domains targeting your organization and alert on newly registered lookalikes
  • Conduct phishing campaign reconnaissance by generating domain variants and checking for active phishing pages
  • Audit brand impersonation risk by discovering domains that visually or semantically resemble your legitimate domain
  • Integrate domain threat intelligence into security workflows via the Python API to automate threat detection
  • Perform passive domain enumeration to generate permutation lists without DNS queries for offline analysis

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Generates domain name permutations to detect typosquatting, phishing, and brand impersonation attacks, with optional live phishing detection via HTML and visual similarity analysis.

Yes, if you need to monitor for domain-based threats. The tool is well-maintained despite aging status, has no external dependencies, and offers both CLI and programmatic interfaces. Install the base package for core fuzzing; add optional dependencies only if you need phishing detection or GeoIP features. No known vulnerabilities.

Install

dnstwist on PyPI

pip

pip install dnstwist

uv

uv add dnstwist

poetry

poetry add dnstwist

Installing dnstwist

Before you install

Low install friction with no runtime dependencies. Maintenance status is aging—last release was 561 days ago, though the repository remains active with recent commits and substantial community interest (5727 stars).

License in practice

Licensed under Apache Software License (ASL 2.0), a permissive license allowing commercial use, modification, and distribution with minimal restrictions.

Quickstart

pip install dnstwist

import dnstwist
data = dnstwist.run(domain='example.com', registered=True, format='null')

Phishing detection features (--phash) require Chromium browser installed; GeoIP features require GeoLite2 database and environment variable setup.

Verify before relying

  • Whether optional features (phishing detection, GeoIP, screenshots) require additional system dependencies beyond Python
  • Specific Python version requirements, as the fact sheet does not specify a minimum version
  • Performance characteristics when processing very large domain lists or with concurrent requests

Package facts

License ASL 2.0 (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance aging — 561 days since the last release
Last repo commit
First released
Downloads 119,741/month — #12,058 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: dnstwist-20250130-py3-none-any.whl

License :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

domain typosquatting detectionphishing domain finderhomograph attack detectionDNS fuzzing toolbrand impersonation monitoringlookalike domain generatordomain permutation engine
threat-intelligencedomain-securityphishing-detection

More Security packages

Further reading