Reconnaissance
Six specialized modules scan ports, enumerate DNS, check HTTP headers, analyze certificates, detect vulnerabilities, and validate email security.
Give Perimtr your network ranges and domains. It investigates, inventories findings, and tracks what changed since the last scan — so nothing slips through the cracks.
Six focused modules, a change-aware diff engine, and interactive reports — everything you need to keep an eye on what's exposed.
Six specialized modules scan ports, enumerate DNS, check HTTP headers, analyze certificates, detect vulnerabilities, and validate email security.
Every scan compares against the previous assessment. New ports, subdomains, vulnerabilities — you see exactly what changed and when.
Rate-limited by default. Slow SYN scans and timed requests avoid triggering IDS/IPS or getting your IP blocked.
Self-contained HTML dashboards with severity charts, filterable tables, and tabbed navigation. No server required — just open the file.
Connect OpenAI, Anthropic, OpenRouter, or a local LLM for AI-generated executive summaries, risk scores, and prioritized remediation.
Every module inherits from ReconModule. Add new capabilities by dropping a single Python file — no framework changes needed.
A linear, idempotent pipeline — from configuration to a shareable HTML dashboard.
Define your networks, domains, and schedule in perimtr.yaml
Six modules run concurrently with rate limiting
Findings stored as timestamped JSON — full history preserved
Diff engine detects new, removed, and changed findings
LLM generates executive summary and risk score (or use built-in analysis)
Interactive HTML dashboard with every finding, filter, and chart
Each module is a self-contained Python class. Enable only what you need; results are unified in a single inventory.
| Module | What It Checks | Key Detections |
|---|---|---|
|
Port Scanner
|
Network ranges via SYN scan with nmap + socket fallback | Open ports, new services, service versions |
|
DNS Enumeration
|
crt.sh CT logs, brute-force, zone transfers, full records | Subdomains, DNS changes, zone transfer vulnerabilities |
|
HTTP Headers
|
HSTS, CSP, X-Frame-Options, cookies, TLS, Server header | Missing security headers, info leakage, weak TLS |
|
WHOIS & Certs
|
Domain registration, SSL certificates, key strength | Expiring certs, weak keys, issuer changes |
|
Vuln Checks
|
Databases, RDP, FTP, SNMP, SSH, SMTP relay | Exposed databases, dangerous services, default credentials |
|
Domain Security
|
SPF, DKIM, DMARC, DNSSEC, CAA records | Email spoofing risk, DNS poisoning, unauthorized CAs |
Perimtr compares every assessment against your previous baseline. New exposures surface instantly; fixes are verified automatically.
Clone the repo, install the package, and run the interactive setup. Perimtr will walk you through your first assessment.
Requires Python 3.10+. Optional: nmap for SYN scanning.
git clone https://github.com/jph4cks/perimtr.git cd perimtr pip install -e . # First run — interactive setup perimtr # Or with LLM support pip install -e ".[llm]"
Perimtr speaks OpenAI, Anthropic, OpenRouter, and any OpenAI-compatible local server. Bring your own key — or run fully offline.