Skip to main content

Security Toolbox

MX Inspector

Look up a domain's MX hosts, SPF, and DMARC policy from public DNS, with an optional SMTP banner probe.

Warning: Authorised use only. --probe opens an SMTP session to the target MX hosts. Use it only on systems you are allowed to test.

Install

pip install lupaxa-mx-inspector
mx-inspector --help

CLI

mx-inspector example.com
mx-inspector example.com example.org
mx-inspector example.com --format json
mx-inspector example.com --no-color
mx-inspector example.com --probe
mx-inspector example.com --probe --port 587
mx-inspector example.com --probe --timeout 10
python -m lupaxa.mx_inspector --version

The tool queries MX hosts, SPF, and _dmarc.<domain>, then prints a table of decoded tags and a spoofing-posture score. On a colour terminal, names are cyan, values are green, missing is grey, and the score is coloured by grade. --no-color or NO_COLOR disables that. --probe greets each MX (banner + EHLO only) to fingerprint mail software. --port sets the SMTP probe port (default 25; use 587 for submission). --timeout sets the SMTP probe timeout (default 5 seconds). --format json writes {domain, policy, mx, spf, score, error, mx_error, spf_error} objects, plus probe when --probe is set.

Library

from lupaxa.mx_inspector import lookup_dmarc, lookup_mx, lookup_spf, score_posture

policy = lookup_dmarc("example.com")
hosts = lookup_mx("example.com")
spf = lookup_spf("example.com")
score = score_posture(policy, mx_hosts=hosts, spf_records=spf)
print(policy["p"], score.value, score.grade)

Development

make init
make python-install-dev
make python-check

Documentation

The published guide is at https://mx-inspector.thelupaxaproject.org/.

Site Markdown lives in mkdocs/.

python -m pip install -r requirements.txt
make mkdocs-serve
The Lupaxa Project Footer

Metadata

Release files for lupaxa-mx-inspector 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lupaxa-mx-inspector 0.2.4
File Size Uploaded
lupaxa_mx_inspector-0.2.4.tar.gz 13.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lupaxa-mx-inspector 0.2.4
File Interpreter ABI Platform
lupaxa_mx_inspector-0.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 31.5 kB

Release files / lupaxa_mx_inspector-0.2.4.tar.gz

Download URL lupaxa_mx_inspector-0.2.4.tar.gz
Size 13.6 kB
Tags Source
SHA-256 checksum
How to use checksums
58fb247306246947c71b6e29dfed546b7be378b8a2ebd8b3cf4b8d13b6dff1fa
BLAKE2b-256 checksum
How to use checksums
a5f7a14e5e5234af87c5705ebf2c7c967f08631257735d9c14ec93e33c6589a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

Release files / lupaxa_mx_inspector-0.2.4-py3-none-any.whl

Download URL lupaxa_mx_inspector-0.2.4-py3-none-any.whl
Size 17.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
10a98eaaab54cef8ff97c0a4ebc3c93f0ec11de4eed6e4d40d18028efcc22d89
BLAKE2b-256 checksum
How to use checksums
67e40d59e1d662ebc9df8bad5f0c2f35fcc351fc006416d7ff10d52016157778
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.4 This release

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page