nadzoring.dns_lookup package

Submodules

nadzoring.dns_lookup.dns_resolver module

DNS resolution module.

nadzoring.dns_lookup.dns_resolver._apply_rtype_specific_checks(rtype: str, record_result: dict, record_score: int, result: dict) int[source]

Apply record-type specific validation rules.

nadzoring.dns_lookup.dns_resolver._calculate_record_score(rtype: str, record_result: dict, result: dict) int[source]

Calculate score for a single DNS record type.

nadzoring.dns_lookup.dns_resolver._check_dkim_record(txt: str, record_score: int, result: dict) int[source]

Validate DKIM record.

nadzoring.dns_lookup.dns_resolver._check_mx_priorities(records: list, record_score: int, result: dict) int[source]

Check MX records for duplicate priorities.

nadzoring.dns_lookup.dns_resolver._check_spf_record(txt: str, record_score: int, result: dict) int[source]

Validate SPF record.

nadzoring.dns_lookup.dns_resolver._check_txt_records(records: list, record_score: int, result: dict) int[source]

Check TXT records for SPF and DKIM compliance.

nadzoring.dns_lookup.dns_resolver._create_resolver(nameserver: str | None) Resolver[source]

Create and configure DNS resolver.

nadzoring.dns_lookup.dns_resolver._determine_status(score: int) str[source]

Determine health status based on score.

nadzoring.dns_lookup.dns_resolver._extract_records(answers: Answer, record_type: str) list[str][source]

Extract records from DNS answer.

nadzoring.dns_lookup.dns_resolver._handle_validations(records: list[str], record_type: str, results: dict, *, validate_mx: bool, validate_txt: bool) None[source]

Handle validations for MX and TXT records.

nadzoring.dns_lookup.dns_resolver._process_record_type(resolver: Resolver, domain: str, record_type: str, results: dict, *, validate_mx: bool, validate_txt: bool) None[source]

Process a single DNS record type.

nadzoring.dns_lookup.dns_resolver.check_dns(domain: str, nameserver: str | None = None, record_types: list[str] | None = None, *, validate_mx: bool = False, validate_txt: bool = False) dict[str, any][source]

Comprehensive DNS check.

nadzoring.dns_lookup.dns_resolver.compare_dns_servers(domain: str, servers: list[str], record_types: list[str], progress_callback=None) dict[str, any][source]

Compare DNS responses from different servers.

nadzoring.dns_lookup.dns_resolver.create_hop(nameserver: str) dict[source]

Create a new hop dictionary.

nadzoring.dns_lookup.dns_resolver.get_delegation_info(current_domain: Name, current_ns: str, hop: dict) str | None[source]

Get delegation information from nameserver.

nadzoring.dns_lookup.dns_resolver.health_check_dns(domain: str, nameserver: str | None = None) dict[str, any][source]

Perform comprehensive DNS health check.

nadzoring.dns_lookup.dns_resolver.query_nameserver(domain: str, nameserver: str) tuple[Answer | None, float | None, str | None][source]

Query a nameserver for A records.

nadzoring.dns_lookup.dns_resolver.resolve_dns(domain: str, record_type: Literal['A', 'AAAA', 'CNAME', 'MX', 'NS', 'TXT', 'PTR'] = 'A', nameserver: str | None = None, *, include_ttl: bool = False) dict[str, any][source]

Resolve DNS records for a given domain.

nadzoring.dns_lookup.dns_resolver.reverse_dns(ip_address: str, nameserver: str | None = None) dict[str, any][source]

Perform reverse DNS lookup.

nadzoring.dns_lookup.dns_resolver.trace_dns(domain: str, nameserver: str | None = None) dict[str, any][source]

Trace the DNS resolution path.

nadzoring.dns_lookup.dns_resolver.validate_mx_records(mx_records: list[str]) dict[str, any][source]

Validate MX records.

nadzoring.dns_lookup.dns_resolver.validate_txt_records(txt_records: list[str]) dict[str, any][source]

Validate TXT records (SPF, DKIM).

Module contents

DNS lookup module for domain name resolution and DNS record checking.

nadzoring.dns_lookup.check_dns(domain: str, nameserver: str | None = None, record_types: list[str] | None = None, *, validate_mx: bool = False, validate_txt: bool = False) dict[str, any][source]

Comprehensive DNS check.

nadzoring.dns_lookup.resolve_dns(domain: str, record_type: Literal['A', 'AAAA', 'CNAME', 'MX', 'NS', 'TXT', 'PTR'] = 'A', nameserver: str | None = None, *, include_ttl: bool = False) dict[str, any][source]

Resolve DNS records for a given domain.

nadzoring.dns_lookup.reverse_dns(ip_address: str, nameserver: str | None = None) dict[str, any][source]

Perform reverse DNS lookup.