nadzoring.dns_lookup.reverse module

Reverse DNS lookup functionality for IP-address-to-hostname resolution.

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

Perform a reverse DNS lookup to resolve an IP address to a hostname.

Queries the PTR record for ip_address using dns.reversename.from_address() for automatic in-addr.arpa / ip6.arpa name construction.

Parameters:
  • ip_address – IPv4 or IPv6 address to look up (e.g. "8.8.8.8").

  • nameserver – Optional nameserver IP. None uses the system default.

Returns:

  • ip_address — the original address queried

  • hostname — resolved hostname (trailing dot stripped), or None if lookup failed

  • error — error message string on failure, None on success

  • response_time — query time in milliseconds (2 d.p.), or None when the query timed out

Return type:

Dict with the following keys

Examples

>>> result = reverse_dns("8.8.8.8")
>>> result["hostname"]
'dns.google'
>>> result = reverse_dns("192.168.1.1")
>>> result["error"]
'No PTR record'