title: TCP packet: what is the meaning of those extra bytes?
body: <p>I'm currently writing a software parsing TCP packets where I'm suppose to parse a DNS query to port 53.</p>
  
  <p>Here is my problematic packet:</p>
  
  <pre><code>00000   c6 f8 03 54 44 2d d0 7e  35 b0 60 7b 08 00 45 00    ...TD-.~5.`{..E.
  00010   00 4f 3a ea 40 00 80 06  ee 8f c0 a8 00 77 08 08    .O:.@........w..
  00020   08 08 f5 02 00 35 c9 8b  a5 db 63 ee fd 0b 50 18    .....5....c...P.
                %                                    ^
  00030   00 40 77 53 00 00 00 25  34 b6 01 00 00 01 00 00    .@wS...%4.......
                            ** **
  00040   00 00 00 00 03 77 61 6e  04 71 6c 74 79 07 66 69    .....wan.qlty.fi
  00050   6e 61 72 65 61 02 63 68  00 00 10 00 01             narea.ch.....
  </code></pre>
  
  <p>The problem I'm having is that there are 2 extra bytes in between the TCP header and the DNS query. The extra bytes are marked by <code>**</code>, I also highlighted the TCP header size via a <code>^</code> and the beginning of the TCP header via a <code>%</code></p>
  
  <p>Does anybody have an idea where those bytes are coming from and what are their meaning? </p>
  
  <p>Thanks in advance for your help.</p>
  
  <p>Kind regards</p>