DNS protocol implementation.
Future Plans:
Function | randomSource | Wrapper around twisted.python.randbytes.RandomFactory.secureRandom
to return 2 random bytes. |
Interface | IRecord | A single entry in a zone of authority. |
Function | domainString | Coerce a domain name string to bytes. |
Function | str2time | Parse a string description of an interval into an integer number of seconds. |
Function | readPrecisely | Undocumented |
Interface | IEncodable | Interface for something which can be encoded to and decoded to the DNS wire format. |
Class | Charstr | No class docstring; 3/7 methods documented |
Class | Name | A name in the domain name system, made up of multiple labels. For example, twistedmatrix.com. |
Class | Query | Represent a single DNS query. |
Class | RRHeader | A resource record header. |
Class | SimpleRecord | A Resource Record which consists of a single RFC 1035 domain-name. |
Class | Record_NS | An authoritative nameserver. |
Class | Record_MD | A mail destination. |
Class | Record_MF | A mail forwarder. |
Class | Record_CNAME | The canonical name for an alias. |
Class | Record_MB | A mailbox domain name. |
Class | Record_MG | A mail group member. |
Class | Record_MR | A mail rename domain name. |
Class | Record_PTR | A domain name pointer. |
Class | Record_DNAME | A non-terminal DNS name redirection. |
Class | Record_A | An IPv4 host address. |
Class | Record_SOA | Marks the start of a zone of authority. |
Class | Record_NULL | A null record. |
Class | Record_WKS | A well known service description. |
Class | Record_AAAA | An IPv6 host address. |
Class | Record_A6 | An IPv6 address. |
Class | Record_SRV | The location of the server(s) for a specific protocol and domain. |
Class | Record_NAPTR | The location of the server(s) for a specific protocol and domain. |
Class | Record_AFSDB | Map from a domain name to the name of an AFS cell database server. |
Class | Record_RP | The responsible person for a domain. |
Class | Record_HINFO | Host information. |
Class | Record_MINFO | Mailbox or mail list information. |
Class | Record_MX | Mail exchange. |
Class | Record_SSHFP | A record containing the fingerprint of an SSH key. |
Class | Record_TXT | Freeform text. |
Class | UnknownRecord | Encapsulate the wire data for unknown record types so that they can pass through the system unchanged. |
Class | Record_SPF | Structurally, freeform text. Semantically, a policy definition, formatted as defined in rfc 4408. |
Class | Record_TSIG | A transaction signature, encapsulated in a RR, as described in RFC 2845. |
Class | Message | Message
contains all the information represented by a single DNS request or
response. |
Class | DNSMixin | DNS protocol mixin shared by UDP and TCP implementations. |
Class | DNSDatagramProtocol | DNS protocol over UDP. |
Class | DNSProtocol | DNS protocol over TCP. |
Function | _ord2bytes | Construct a bytes object representing a single byte with the given ordinal value. |
Function | _nicebytes | Represent a mostly textful bytes object in a way suitable for presentation to an end user. |
Function | _nicebyteslist | Represent a list of mostly textful bytes objects in a way suitable for presentation to an end user. |
Function | _nameToLabels | Split a domain name into its constituent labels. |
Function | _isSubdomainOf | Test whether descendantName is equal to or is a
subdomain of ancestorName . |
Class | _OPTHeader | An OPT record header. |
Class | _OPTVariableOption | A class to represent OPT record variable options. |
Function | _responseFromMessage | Generate a Message like
instance suitable for use as the response to message . |
Function | _getDisplayableArguments | Inspect the function signature of obj 's constructor, and
get a list of which arguments should be displayed. This is a helper
function for _compactRepr . |
Function | _compactRepr | Return a str
representation of obj which only shows fields with non-default
values, flags which are True and sections which have been explicitly
set. |
Class | _EDNSMessage | An EDNS message. |
Construct a bytes object representing a single byte with the given ordinal value.
Returns | (type: bytes ) |
Represent a mostly textful bytes object in a way suitable for presentation to an end user.
Parameters | bytes | The bytes to represent. |
Returns | (type: str ) |
Represent a list of mostly textful bytes objects in a way suitable for presentation to an end user.
Parameters | list | The list of bytes to represent. |
Returns | (type: str ) |
Wrapper around twisted.python.randbytes.RandomFactory.secureRandom
to return 2 random bytes.
Returns | (type: bytes ) |
Coerce a domain name string to bytes.
twisted.names
represents
domain names as bytes
,
but many interfaces accept bytes
or a text string (unicode
on
Python 2, str
on Python 3). This function coerces text strings using IDNA encoding ---
see encodings.idna
.
Note that DNS is case insensitive but case preserving. This function doesn't normalize case, so you'll still need to do that whenever comparing the strings it returns.
Parameters | domain | A domain name. If passed as a text string it will be idna
encoded. (type: bytes
or str ) |
Returns | bytes
suitable for network transmission. (type: bytes ) | |
Present Since | Twisted 20.3.0 |
Test whether descendantName
is equal to or is a
subdomain of ancestorName
.
The names are compared case-insensitively.
The names are treated as byte strings containing one or more DNS labels separated by ..
descendantName
is considered equal if its sequence of
labels exactly matches the labels of ancestorName
.
descendantName
is considered a subdomain if its
sequence of labels ends with the labels of ancestorName
.
Parameters | descendantName | The DNS subdomain name. (type: bytes ) |
ancestorName | The DNS parent or ancestor domain name. (type: bytes ) | |
Returns | True if descendantName is equal to or if it is a
subdomain of ancestorName . Otherwise returns
False . |
Parse a string description of an interval into an integer number of seconds.
Parameters | s | An interval definition constructed as an interval duration followed by an
interval unit. An interval duration is a base ten representation of an
integer. An interval unit is one of the following letters: S (seconds), M
(minutes), H (hours), D (days), W (weeks), or Y (years). For example:
"3S" indicates an interval of three seconds;
"5D" indicates an interval of five days.
Alternatively, s may be any non-string and it will be returned
unmodified. (type: text string (bytes
or unicode )
for parsing; anything else for passthrough.) |
Returns | an int
giving the interval represented by the string s , or whatever
s is if it is not a string. |
Generate a Message
like
instance suitable for use as the response to message
.
The queries
, id
attributes will be copied from
message
and the answer
flag will be set to True
.
Parameters | responseConstructor | A response message constructor with an initializer signature matching dns.Message.__init__ . (type: callable ) |
message | A request message. (type: Message ) | |
kwargs | Keyword arguments which will be passed to the initialiser of the response
message. (type: dict ) | |
Returns | A Message like
response instance. (type: responseConstructor ) |
Inspect the function signature of obj
's constructor, and
get a list of which arguments should be displayed. This is a helper
function for _compactRepr
.
Parameters | obj | The instance whose repr is being generated. |
alwaysShow | A list
of field names which should always be shown. | |
fieldNames | A list
of field attribute names which should be shown if they have non-default
values. | |
Returns | A list
of displayable arguments. |
Return a str
representation of obj
which only shows fields with non-default
values, flags which are True and sections which have been explicitly
set.
Parameters | obj | The instance whose repr is being generated. |
alwaysShow | A list
of field names which should always be shown. | |
flagNames | A list
of flag attribute names which should be shown if they are True . | |
fieldNames | A list
of field attribute names which should be shown if they have non-default
values. | |
sectionNames | A list
of section attribute names which should be shown if they have been assigned
a value. | |
Returns | A str
representation of obj . |