dgtlmoon/changedetection.io-DNS_monitoring

2

stars

1

commits

Python

primary language

Mar 19, 2025

updated

README

ChangeDetection.io DNS Monitoring Plugin

A plugin for ChangeDetection.io that provides comprehensive DNS zone monitoring to detect changes in domain DNS configurations.

Features

  • Comprehensive DNS Record Monitoring: Track ALL record types (A, AAAA, MX, TXT, CNAME, NS, SOA, SRV, etc.)
  • DNS Propagation Tracking: Monitor how DNS changes propagate across different DNS servers
  • DNS Security Monitoring: Track DNSSEC settings and changes
  • SPF, DKIM, and DMARC Monitoring: Special focus on email security records
  • CAA Record Tracking: Monitor Certificate Authority Authorization records
  • Zone File Analysis: Complete textual representation of entire zone configuration
  • Multi-Server Verification: Query multiple DNS servers to detect inconsistencies
  • DNS Server Availability: DNS server status monitoring
  • Historical Record Comparisons: Track changes over time with detailed comparisons

Use Cases

  • Domain Takeover Prevention: Be alerted when critical DNS records change
  • Email Security Monitoring: Know when SPF, DKIM, or DMARC records are modified
  • DNS Configuration Auditing: Keep track of all DNS changes for compliance
  • DNS Configuration Monitoring: Be notified of any changes to your domain's DNS configuration
  • DNS Provider Monitoring: Detect if your DNS provider makes unauthorized changes
  • Nameserver Change Detection: Know when domains are moved to different DNS providers
  • DNS Propagation Issues: Detect inconsistencies between different DNS servers
  • Certificate Authorization Monitoring: Track changes to CAA records that control which CAs can issue SSL certificates
  • Competitive Intelligence: Monitor competitors' infrastructure changes via DNS

How It Works

This plugin adds a new processor type "DNS Zone Monitoring" to ChangeDetection.io. When selected, instead of fetching webpage content, the system will:

  1. Extract the domain from the URL
  2. Query comprehensive DNS information for the domain from multiple public DNS servers:
    • Google (8.8.8.8)
    • Cloudflare (1.1.1.1)
    • Quad9 (9.9.9.9)
    • OpenDNS (208.67.222.222)
  3. Compile a complete textual representation of the domain's DNS configuration
  4. Track changes to this information over time
  5. Alert you when changes are detected

Sample Output

The plugin generates a comprehensive text report that looks like this:

=== DNS MONITORING REPORT FOR example.com ===

=== DNS RECORDS ===

--- Records from 8.8.8.8 ---

A Records:
  93.184.216.34

AAAA Records:
  2606:2800:220:1:248:1893:25c8:1946

MX Records:
  0 example.com.

NS Records:
  a.iana-servers.net.
  b.iana-servers.net.

TXT Records:
  "v=spf1 -all"

=== EMAIL SECURITY RECORDS ===

SPF Records:
  "v=spf1 -all"

DMARC Records:
  "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"


=== DNS SERVER AVAILABILITY ===
  8.8.8.8: Available
  1.1.1.1: Available
  9.9.9.9: Available
  208.67.222.222: Available

Installation

pip install changedetectionio_dns_monitoring

Or clone this repository and run:

pip install -e .

Usage

  1. In ChangeDetection.io, add a new watch
  2. Enter a domain name (e.g., "example.com")
  3. From the "Content Processor" dropdown, select "DNS Zone Monitoring"
  4. Save and wait for the first check to complete
  5. You'll receive notifications when any DNS changes are detected

Requirements

  • ChangeDetection.io >= 0.50.0
  • dnspython >= 2.3.0
  • tldextract >= 5.0.0

License

Same as ChangeDetection.io

Contributors

dgtlmoon

1 commits

dgtlmoon/changedetection.io-DNS_monitoring

2

stars

1

commits

Python

primary language

Mar 19, 2025

updated

README

ChangeDetection.io DNS Monitoring Plugin

A plugin for ChangeDetection.io that provides comprehensive DNS zone monitoring to detect changes in domain DNS configurations.

Features

  • Comprehensive DNS Record Monitoring: Track ALL record types (A, AAAA, MX, TXT, CNAME, NS, SOA, SRV, etc.)
  • DNS Propagation Tracking: Monitor how DNS changes propagate across different DNS servers
  • DNS Security Monitoring: Track DNSSEC settings and changes
  • SPF, DKIM, and DMARC Monitoring: Special focus on email security records
  • CAA Record Tracking: Monitor Certificate Authority Authorization records
  • Zone File Analysis: Complete textual representation of entire zone configuration
  • Multi-Server Verification: Query multiple DNS servers to detect inconsistencies
  • DNS Server Availability: DNS server status monitoring
  • Historical Record Comparisons: Track changes over time with detailed comparisons

Use Cases

  • Domain Takeover Prevention: Be alerted when critical DNS records change
  • Email Security Monitoring: Know when SPF, DKIM, or DMARC records are modified
  • DNS Configuration Auditing: Keep track of all DNS changes for compliance
  • DNS Configuration Monitoring: Be notified of any changes to your domain's DNS configuration
  • DNS Provider Monitoring: Detect if your DNS provider makes unauthorized changes
  • Nameserver Change Detection: Know when domains are moved to different DNS providers
  • DNS Propagation Issues: Detect inconsistencies between different DNS servers
  • Certificate Authorization Monitoring: Track changes to CAA records that control which CAs can issue SSL certificates
  • Competitive Intelligence: Monitor competitors' infrastructure changes via DNS

How It Works

This plugin adds a new processor type "DNS Zone Monitoring" to ChangeDetection.io. When selected, instead of fetching webpage content, the system will:

  1. Extract the domain from the URL
  2. Query comprehensive DNS information for the domain from multiple public DNS servers:
    • Google (8.8.8.8)
    • Cloudflare (1.1.1.1)
    • Quad9 (9.9.9.9)
    • OpenDNS (208.67.222.222)
  3. Compile a complete textual representation of the domain's DNS configuration
  4. Track changes to this information over time
  5. Alert you when changes are detected

Sample Output

The plugin generates a comprehensive text report that looks like this:

=== DNS MONITORING REPORT FOR example.com ===

=== DNS RECORDS ===

--- Records from 8.8.8.8 ---

A Records:
  93.184.216.34

AAAA Records:
  2606:2800:220:1:248:1893:25c8:1946

MX Records:
  0 example.com.

NS Records:
  a.iana-servers.net.
  b.iana-servers.net.

TXT Records:
  "v=spf1 -all"

=== EMAIL SECURITY RECORDS ===

SPF Records:
  "v=spf1 -all"

DMARC Records:
  "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"


=== DNS SERVER AVAILABILITY ===
  8.8.8.8: Available
  1.1.1.1: Available
  9.9.9.9: Available
  208.67.222.222: Available

Installation

pip install changedetectionio_dns_monitoring

Or clone this repository and run:

pip install -e .

Usage

  1. In ChangeDetection.io, add a new watch
  2. Enter a domain name (e.g., "example.com")
  3. From the "Content Processor" dropdown, select "DNS Zone Monitoring"
  4. Save and wait for the first check to complete
  5. You'll receive notifications when any DNS changes are detected

Requirements

  • ChangeDetection.io >= 0.50.0
  • dnspython >= 2.3.0
  • tldextract >= 5.0.0

License

Same as ChangeDetection.io

Contributors

dgtlmoon

1 commits

Languages

Python

100.0%