Class Summary Net_DNS_RR

Class Summary Net_DNS_RR – Provides resource record parsing and creation


The Net_DNS_RR class provides methods of parsing resource records returned by a nameserver, creation of resource record objects to be sent to a nameserver, and the ability to access each component of an RR as an object property.

Each resource record object MUST contain the following properties:

  • name - The DNS name of the RR

  • type - The RR type

  • class - The RR class (normally IN)

  • ttl - The RR time to live

  • rdlength - The amount of data (in bytes) of the rdata section

  • rdata - The data (uncompressed) of the right hand side of the RR

If type is a supported RR type, it will automatically be decompressed and/or decoded into its appropriate property values. The values inside of an RR object will vary based on the type of RR.

Supported RR types:

  • A

    • string address - IPv4 style address

  • AAAA

    • string address - IPv6 style address


    • string cname - The canonical name of the queried host


    • string cpu - The host CPU type

    • string os - Type host operating system

  • MX

    • integer preference - The MX preference (lower takes priority

    • string exchange - The name of the mail exchange host


    • unknown order - unknown

    • unknown preference - unknown

    • unknown flags - unknown

    • unknown services - unknown

    • unknown regex - unknown

    • unknown replacement - unknown

  • NS

    • string nsdname - The name of the NS record nameserver

  • PTR

    • string ptrdname - The name for the queried IP address

  • SOA

    • string mname - Master nameserver hostname as specified in the SOA record - not neccessarily accurate

    • string rname - Email address of the person responsible for the zone - not neccessarily accurate

    • string serial - The serial number (version number) of the retrieved zone

    • string refresh - The length of time before the zone should be refresed

    • string retry - The length of time between retries for slave servers to refresh the zone

    • string expire - The length of time before slave servers should consider the data invalid without refreshing the zone data.

    • string minimum - The default TTL for RRs inside of the zone that are not otherwise specified.

  • SRV

    • unknown preference - unknown

    • unknown weight - unknown

    • unknown port - unknown

    • unknown target - unknown

  • TSIG

    • integer time_signed - The time the signature has was created

    • integer fudge - The time offset that is acceptable between the client and the server

    • integer mac_size - The size of the following signature data

    • string/binary mac - The data containing the has sent by the client/server

    • integer original_id - The ID sent to or received from the server identifying this query.

    • integer error - The value of the error calculating or verifying the signature.

    • integer other_len - The amount of data (in bytes) additional to the signature

    • string other_data - Additional data required by the nameserver for the signature.

    • string key - The key shared by the client and the server to validate authorization.

  • TXT

    • string text - The text defined in the record

Provides an object abstraction of a DNS packet (Previous) RFC 2136 DNS Updates (Next)
Last updated: Sat, 16 Feb 2019 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report.
View this page in:
  • English

User Notes:

Note by:
Doc bug: $txtrecord->text may return an array, if the constructor is called with an offset.