HOME


NAME

dns_dissect - domain name system protocol dissect function

DNS_RRS_A = 1
DNS_RRS_NS = 2
DNS_RRS_CNAME = 5
DNS_RRS_SOA = 6
DNS_RRS_NULL = 10
DNS_RRS_WKS = 11
DNS_RRS_PTR = 12
DNS_RRS_HINFO = 13
DNS_RRS_MINFO = 14
DNS_RRS_MX = 15
DNS_RRS_TXT = 16
DNS_RRS_AAAA = 28
DNS_RRS_LOC = 29
DNS_RRS_KX = 36

SYNOPSIS

data,offset=dns_dissect(pkt,offset)

DESCRIPTION

dissect domain name system protocol

DNS Header section format
Question section format
Resource record format

                              1  1  1  1  1  1
0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                      ID                       |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR|   Opcode  |AA|TC|RD|RA|   Z    |   RCODE   |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    QDCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    ANCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    NSCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                    ARCOUNT                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


                              1  1  1  1  1  1
0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                                               |
/                     QNAME                     /
/                                               /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                     QTYPE                     |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                     QCLASS                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                               1  1  1  1  1  1
 0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                                               |
/                                               /
/                      NAME                     /
|                                               |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                      TYPE                     |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                     CLASS                     |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                      TTL                      |
|                                               |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                   RDLENGTH                    |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
/                     RDATA                     /
/                                               /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                                  reference RFC 1034, 1035

Standard RRs:

                   A RDATA format
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                    ADDRESS                    |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                   CNAME RDATA format
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                     CNAME                     /
        /                                               /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                   NS RDATA format
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                   NSDNAME                     /
        /                                               /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                   NULL RDATA
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                  <anything>                   /
        /                                               /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                   PTR RDATA format
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                   PTRDNAME                    /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                   TXT RDATA format
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                   TXT-DATA                    /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                   HINFO RDATA format
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                      CPU                      /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                       OS                      /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                   MINFO RDATA format (EXPERIMENTAL)
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                    RMAILBX                    /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                    EMAILBX                    /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                   MX RDATA format
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                  PREFERENCE                   |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                   EXCHANGE                    /
        /                                               /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                   KX DNS
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                  PREFERENCE                   |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                   EXCHANGER                   /
        /                                               /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                   WKS RDATA format
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                    ADDRESS                    |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |       PROTOCOL        |                       |
        +--+--+--+--+--+--+--+--+                       |
        |                                               |
        /                   <BIT MAP>                   /
        /                                               /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+  

                   AAAA RDATA format
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                                               |
        +                                               +
        |                IPv6 ADDRESS                   |
        +                                               +
        |                                               |
        +                                               +
        |                                               |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 

                   SOA RDATA format
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                     MNAME                     /
        /                                               /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /                     RNAME                     /
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                    SERIAL                     |
        |                                               |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                    REFRESH                    |
        |                                               |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                     RETRY                     |
        |                                               |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                    EXPIRE                     |
        |                                               |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                    MINIMUM                    |
        |                                               |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

                   Location Information
                                        1  1  1  1  1  1
          0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5 
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |        VERSION        |         SIZE          |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |       HORIZ PRE       |       VERT PRE        |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                   LATITUDE                    |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                   LATITUDE                    |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                   LONGITUDE                   |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                   LONGITUDE                   |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                   ALTITUDE                    |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        |                   ALTITUDE                    |
        +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

funtion accepts two arguments:
    pkt is a packet reference containing the whole packet to be dissect
    offset is the position inside packet to start dissection

funtion return two values:
    data is a 10 long tuple:

data
list of tuples  -  items structure
tuple items structure (type specific structure)
id
flags
qdcount
ancount
nscount
arcount




qrs <list> list item 0 .. qdcount-1
name
qtype
qclass

name
qtype
qclass

ans <list>
list item 0 .. ancount-1
name
type
class
ttl
rdlength
rdata <tuple>
ex: DNS_RRS_MX tupla:  (preference, exchange)
name
type
class
ttl
rdlength

rdata <tuple>
ex: DNS_RRS_MX tupla:  (preference, exchange)
ahs <list>
list item 0 .. nscount-1

name
type
class
ttl
rdlength
rdata <tuple>
ex: DNS_RRS_A tupla:  (addr, )
name
type
class
ttl
rdlength

rdata <tuple>
ex: DNS_RRS_A tupla:  (addr, )
ads <list>
list item 0 .. arcount-1

name
type
class
ttl
rdlength
rdata <tuple>
ex: DNS_RRS_SOA tupla:  (mname,rname,serial,refresh,retry,expire,minimum)
name
type
class
ttl
rdlength

rdata <tuple>
ex: DNS_RRS_A tupla:  (addr, )
at the moment dissectable types are:

DNS_RRS_A
DNS_RRS_NS
DNS_RRS_CNAME
DNS_RRS_SOA
DNS_RRS_NULL
DNS_RRS_WKS
DNS_RRS_PTR
DNS_RRS_HINFO
DNS_RRS_MINFO
DNS_RRS_MX
DNS_RRS_TXT
DNS_RRS_AAAA
DNS_RRS_LOC
DNS_RRS_KX

    offset is the original offset plus dns_lenght

HOME


This document was generated by paolo bastiancich on January, 16 2003 using texi2html