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

Release files for lupaxa-mx-inspector 0.2.2

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.2
File Size Uploaded
lupaxa_mx_inspector-0.2.2.tar.gz 13.6 kB Details

Built distribution (wheel)

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

Total release size: 31.5 kB

Release files / lupaxa_mx_inspector-0.2.2.tar.gz

Download URL lupaxa_mx_inspector-0.2.2.tar.gz
Size 13.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3c54da233d8995ab35a6d49a3c2c2d568d7a4665407db4cf32372813570579da
BLAKE2b-256 checksum
How to use checksums
a170872fb851d26dd683c489032bc5b9d6125f43480f8f2fd439588495144c80
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 Sep 25, 2026.

Transparency log

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

Download URL lupaxa_mx_inspector-0.2.2-py3-none-any.whl
Size 17.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3141032f3b3f0cf3a7b630f7ec7c0474d3c2ab5b943186f7e3a5a42519c99ff0
BLAKE2b-256 checksum
How to use checksums
a9728cee928154c39610c3eec17ff3c9d3f13a5ae2fb25d5d049bd31edf20631
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 Sep 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.2 This release

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