title: Getting raw payload of DNS packets using scapy
body: <p>I'm trying to extract all UDP and TCP payloads from a pcap file using <code>packet[TCP].payload.load</code> and <code>packet[UDP].payload.load</code>. However, I noticed that <code>packet[UDP].payload.load</code> failed for DNS packets.</p>
  
  <p>The output of <code>packet[IP].show()</code> is as follows (one DNS query and response packet). I don't see any <code>[ Raw ]</code> section, which I guess is where the <code>.load</code> failed. How can I extract the payload in bytes after the UDP layer for such packets?</p>
  
  <pre><code>====================================================
  ###[ IP ]### 
    version   = 4
    ihl       = 5
    tos       = 0x0
    len       = 64
    id        = 59183
    flags     = 
    frag      = 0
    ttl       = 128
    proto     = udp
    chksum    = 0x0
    src       = 172.22.32.48
    dst       = 203.211.152.66
    \options   \
  ###[ UDP ]### 
       sport     = 55884
       dport     = domain
       len       = 44
       chksum    = 0x309a
  ###[ DNS ]### 
          id        = 40212
          qr        = 0
          opcode    = QUERY
          aa        = 0
          tc        = 0
          rd        = 1
          ra        = 0
          z         = 0
          &lt;snipped&gt;
  
  None
  ====================================================
  ###[ IP ]### 
    version   = 4
    ihl       = 5
    tos       = 0x0
    len       = 155
    id        = 38148
    flags     = 
    frag      = 0
    ttl       = 58
    proto     = udp
    chksum    = 0xbaf1
    src       = 203.211.152.66
    dst       = 172.22.32.48
    \options   \
  ###[ UDP ]### 
       sport     = domain
       dport     = 55884
       len       = 135
       chksum    = 0x51d9
  ###[ DNS ]### 
          id        = 40212
          qr        = 1
          opcode    = QUERY
          aa        = 0
          tc        = 0
          rd        = 1
          ra        = 1
          &lt;snipped&gt;
  
  None
  </code></pre>