Package dns :: Module query
[hide private]
[frames] | no frames]

Module query

source code

Talk to a DNS server.

Classes [hide private]
  UnexpectedSource
Raised if a query response comes from an unexpected address or port.
  BadResponse
Raised if a query response does not respond to the question asked.
Functions [hide private]
 
_compute_expiration(timeout) source code
 
_poll_for(fd, readable, writable, error, timeout)
Poll polling backend.
source code
 
_select_for(fd, readable, writable, error, timeout)
Select polling backend.
source code
 
_wait_for(fd, readable, writable, error, expiration) source code
 
_set_polling_backend(fn)
Internal API.
source code
 
_polling_backend(fd, readable, writable, error, timeout)
Select polling backend.
source code
 
_wait_for_readable(s, expiration) source code
 
_wait_for_writable(s, expiration) source code
 
_addresses_equal(af, a1, a2) source code
 
_destination_and_source(af, where, port, source, source_port) source code
dns.message.Message object
udp(q, where, timeout=None, port=53, af=None, source=None, source_port=0, ignore_unexpected=False, one_rr_per_rrset=False)
Return the response obtained after sending a query via UDP.
source code
 
_net_read(sock, count, expiration)
Read the specified number of bytes from sock.
source code
 
_net_write(sock, data, expiration)
Write the specified data to the socket.
source code
 
_connect(s, address) source code
dns.message.Message object
tcp(q, where, timeout=None, port=53, af=None, source=None, source_port=0, one_rr_per_rrset=False)
Return the response obtained after sending a query via TCP.
source code
generator of dns.message.Message objects.
xfr(where, zone, rdtype=dns.rdatatype.AXFR, rdclass=dns.rdataclass.IN, timeout=None, port=53, keyring=None, keyname=None, relativize=True, af=None, lifetime=None, source=None, source_port=0, serial=0, use_udp=False, keyalgorithm=dns.tsig.default_algorithm)
Return a generator for the responses to a zone transfer.
source code
Function Details [hide private]

_poll_for(fd, readable, writable, error, timeout)

source code 

Poll polling backend.

Parameters:
  • fd (int) - File descriptor
  • readable (bool) - Whether to wait for readability
  • writable (bool) - Whether to wait for writability
  • timeout (float @return True on success, False on timeout) - Deadline timeout (expiration time, in seconds)

_select_for(fd, readable, writable, error, timeout)

source code 

Select polling backend.

Parameters:
  • fd (int) - File descriptor
  • readable (bool) - Whether to wait for readability
  • writable (bool) - Whether to wait for writability
  • timeout (float @return True on success, False on timeout) - Deadline timeout (expiration time, in seconds)

_set_polling_backend(fn)

source code 

Internal API. Do not use.

_polling_backend(fd, readable, writable, error, timeout)

source code 

Select polling backend.

Parameters:
  • fd (int) - File descriptor
  • readable (bool) - Whether to wait for readability
  • writable (bool) - Whether to wait for writability
  • timeout (float @return True on success, False on timeout) - Deadline timeout (expiration time, in seconds)

udp(q, where, timeout=None, port=53, af=None, source=None, source_port=0, ignore_unexpected=False, one_rr_per_rrset=False)

source code 

Return the response obtained after sending a query via UDP.

Parameters:
  • q (dns.message.Message) - the query
  • where (string containing an IPv4 or IPv6 address) - where to send the message
  • timeout (float) - The number of seconds to wait before the query times out. If None, the default, wait forever.
  • port (int) - The port to which to send the message. The default is 53.
  • af (int) - the address family to use. The default is None, which causes the address family to use to be inferred from the form of of where. If the inference attempt fails, AF_INET is used.
  • source (string) - source address. The default is the wildcard address.
  • source_port (int) - The port from which to send the message. The default is 0.
  • ignore_unexpected (bool) - If True, ignore responses from unexpected sources. The default is False.
  • one_rr_per_rrset (bool) - Put each RR into its own RRset
Returns: dns.message.Message object

_net_read(sock, count, expiration)

source code 

Read the specified number of bytes from sock. Keep trying until we either get the desired amount, or we hit EOF. A Timeout exception will be raised if the operation is not completed by the expiration time.

_net_write(sock, data, expiration)

source code 

Write the specified data to the socket. A Timeout exception will be raised if the operation is not completed by the expiration time.

tcp(q, where, timeout=None, port=53, af=None, source=None, source_port=0, one_rr_per_rrset=False)

source code 

Return the response obtained after sending a query via TCP.

Parameters:
  • q (dns.message.Message object) - the query
  • where (string containing an IPv4 or IPv6 address) - where to send the message
  • timeout (float) - The number of seconds to wait before the query times out. If None, the default, wait forever.
  • port (int) - The port to which to send the message. The default is 53.
  • af (int) - the address family to use. The default is None, which causes the address family to use to be inferred from the form of of where. If the inference attempt fails, AF_INET is used.
  • source (string) - source address. The default is the wildcard address.
  • source_port (int) - The port from which to send the message. The default is 0.
  • one_rr_per_rrset (bool) - Put each RR into its own RRset
Returns: dns.message.Message object

xfr(where, zone, rdtype=dns.rdatatype.AXFR, rdclass=dns.rdataclass.IN, timeout=None, port=53, keyring=None, keyname=None, relativize=True, af=None, lifetime=None, source=None, source_port=0, serial=0, use_udp=False, keyalgorithm=dns.tsig.default_algorithm)

source code 

Return a generator for the responses to a zone transfer.

Parameters:
  • where (string containing an IPv4 or IPv6 address) - where to send the message
  • zone (dns.name.Name object or string) - The name of the zone to transfer
  • rdtype (int or string) - The type of zone transfer. The default is dns.rdatatype.AXFR.
  • rdclass (int or string) - The class of the zone transfer. The default is dns.rdatatype.IN.
  • timeout (float) - The number of seconds to wait for each response message. If None, the default, wait forever.
  • port (int) - The port to which to send the message. The default is 53.
  • keyring (dict) - The TSIG keyring to use
  • keyname (dns.name.Name object or string) - The name of the TSIG key to use
  • relativize (bool) - If True, all names in the zone will be relativized to the zone origin. It is essential that the relativize setting matches the one specified to dns.zone.from_xfr().
  • af (int) - the address family to use. The default is None, which causes the address family to use to be inferred from the form of of where. If the inference attempt fails, AF_INET is used.
  • lifetime (float) - The total number of seconds to spend doing the transfer. If None, the default, then there is no limit on the time the transfer may take.
  • source (string) - source address. The default is the wildcard address.
  • source_port (int) - The port from which to send the message. The default is 0.
  • serial (int) - The SOA serial number to use as the base for an IXFR diff sequence (only meaningful if rdtype == dns.rdatatype.IXFR).
  • use_udp (bool) - Use UDP (only meaningful for IXFR)
  • keyalgorithm (string) - The TSIG algorithm to use; defaults to dns.tsig.default_algorithm
Returns: generator of dns.message.Message objects.