Net::DNS::Header - DNS packet header class `use Net::DNS::Header;' A `Net::DNS::Header' object represents the header portion of a DNS packet.

new
$header = new Net::DNS::Header; $header = new Net::DNS::Header(\$data); Without an argument, `new' creates a header object appropriate for making a DNS query. If `new' is passed a reference to a scalar containing DNS packet data, it creates a header object from that data. Returns undef if unable to create a header object (e.g., if the data is incomplete).

print
$header->print; Dumps the header data to the standard output.

string
print $header->string; Returns a string representation of the header object.

id
print "query id = ", $header->id, "\n"; $header->id(1234); Gets or sets the query identification number.

qr
print "query response flag = ", $header->qr, "\n"; $header->qr(0); Gets or sets the query response flag.

opcode
print "query opcode = ", $header->opcode, "\n"; $header->opcode("UPDATE"); Gets or sets the query opcode (the purpose of the query).

aa
print "answer is ", $header->aa ? "" : "non-", "authoritative\n"; $header->aa(0); Gets or sets the authoritative answer flag.

tc
print "packet is ", $header->tc ? "" : "not ", "truncated\n"; $header->tc(0); Gets or sets the truncated packet flag.

rd
print "recursion was ", $header->rd ? "" : "not ", "desired\n"; $header->rd(0); Gets or sets the recursion desired flag.

ra
print "recursion is ", $header->ra ? "" : "not ", "available\n"; $header->ra(0); Gets or sets the recursion available flag.

rcode
print "query response code = ", $header->rcode, "\n"; $header->rcode("SERVFAIL"); Gets or sets the query response code (the status of the query).

qdcount, zocount
print "# of question records: ", $header->qdcount, "\n"; $header->qdcount(2); Gets or sets the number of records in the question section of the packet. In dynamic update packets, this field is known as `zocount' and refers to the number of RRs in the zone section.

ancount, prcount
print "# of answer records: ", $header->ancount, "\n"; $header->ancount(5); Gets or sets the number of records in the answer section of the packet. In dynamic update packets, this field is known as `prcount' and refers to the number of RRs in the prerequisite section.

nscount, upcount
print "# of authority records: ", $header->nscount, "\n"; $header->nscount(2); Gets or sets the number of records in the authority section of the packet. In dynamic update packets, this field is known as `upcount' and refers to the number of RRs in the update section.

arcount, adcount
print "# of additional records: ", $header->arcount, "\n"; $header->arcount(3); Gets or sets the number of records in the additional section of the packet. In dynamic update packets, this field is known as `adcount'.

data
$hdata = $header->data; Returns the header data in binary format, appropriate for use in a DNS query packet. Copyright (c) 1997 Michael Fuhr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl(1), the Net::DNS manpage, the Net::DNS::Resolver manpage, the Net::DNS::Packet manpage, the Net::DNS::Update manpage, the Net::DNS::Question manpage, the Net::DNS::RR manpage, RFC 1035 Section 4.1.1