ВНИМАНИЕ: DNS RR преждевременно закончил scapy - PullRequest
0 голосов
/ 14 февраля 2019

Мне нужно прослушать DNS-пакеты со scapy в python.Я создал скрипт, который работает, но когда я запускаю скрипт с моим кодом на C ++, я получаю следующие предупреждения:

WARNING: wrong value: DNS.qdcount=6334
WARNING: DNS RR prematured end (ofs=7080, len=1460)  
WARNING: wrong value: DNS.arcount=32966

, и в результате в пакете отсутствуют данные.Пакет, который был прослушан при запуске сценария с C ++:

ПРЕДУПРЕЖДЕНИЕ: неправильное значение: DNS.qdcount = 6334 ПРЕДУПРЕЖДЕНИЕ: DNS RR преждевременно закончился (ofs = 7080, len = 1460) ПРЕДУПРЕЖДЕНИЕ: неправильное значение: DNS.arcount = 32966

[Ethernet]

dst = 48: 2c: a0: 5f: bb: 50 src = b8: 81: 98: 86: ee: f3
type = 0x800

[IP]

 version   = 4
 ihl       = 5
 tos       = 0x0
 len       = 1500
 id        = 1659
 flags     = MF
 frag      = 0
 ttl       = 128
 proto     = udp
 chksum    = 0x670d
 src       = 192.168.43.127
 dst       = 54.194.132.159
 \options   \

[UDP]

    sport     = 50066
    dport     = domain
    len       = 1530
    chksum    = 0x40a1

[DNS]

       id        = 2564
       qr        = 0
       opcode    = QUERY
       aa        = 1
       tc        = 0
       rd        = 1
       ra        = 1
       z         = 1
       ad        = 1
       cd        = 0
       rcode     = 8
       qdcount   = 6334
       ancount   = 1
       nscount   = 0
       arcount   = 32966
       qd        = ''
       \an        \
        |###[ DNS Resource Record ]###
        |  rrname    = '.'
        |  type      = 41326
        |  rclass    = 58674
        |  ttl       = 582309185
        |  rdlen     = 1448
        |  rdata     = b'Q\xdd\xa9\x87?\xe3w\x9c\x00F\xd9\x9a2\xd6\xd5\x9f\xd1;r\xfb\xe7S\x13\xecm\x19wP\xd8\xfd\xd8\xec\x9bA\xb0\xe1\xb0\xea\x8fNw\xc4\xf2\x12\x8b\x89J1n\xb8\xacc\x07M1\xe2\x18\x08\x8e\x9f\xb1\x01\xfb\xbe">\x0etq::F\xbfek\x94\xdcN\xa5s\xfd4\xf36\x96\xd7\xd8a\x8c\x1e1\xa6\x97\xd9\x1f\xeaz\x91\x0b\x93ZLI\x15`$\x1b\x96(\xe5\x02\xb0\n\x08\x82\xb6\xa7+4\xca\xc3\xf8\xe7\x05}T\x1c_{\x884E\xcd,@\x0emx&+h\xa1\xd2\x95\x04\xa7x\xb8\xeaD\xecS\xd7s,\xeb\xff\xa0M\xd5\xcb\x00\xe6\x0e\x1dqa\xdeo\x9c\xdc\xb6#\x02pA;,2]\xa7\xe7\xc79l\x02\xf4\xd2\x197Ccd\x0c\x8eU9\xc6\x9e\x9d\xad\xffa\xc6\xe3be\xce\xee\x94,\x973(\xac\xdak\xd2.w\x89O~\xfc\x99YSB\xb1W\x99F\x15/r\x81p\x8a{\x1b_}\xbb\x9c\x19\xca\xa4\x1a}\xdd\x99\xc0\xe3\x9c\xdf|\x81M\x04\xd1\t\xcb\xf4\x95\x17[\x9ej"M\x07\xec\x93\xb8DO.\x94W\xc3eg|\x9a\\\x8b\xa2\xf36\x82d\x80\xcd!\xb2\xcd\xe9:@\x103%\xfd\xfa\xd1\xe5\xe4\xd2\xbe\xb5\x7fF(`\x85\xedW\xd9\x98\xff\xe7A3\x92\x93\xd3\x19\x9f\xe7\x1b\x17\xaa\x81\x1cS\xee\xed\x94Q\xf1\x98\x02\x1fH\xba\xc5\x87\x03\x94\xa0\xee9\xb8\xc5_q\xe6P\xf7G\x0e\x12\x8b"C\xa7j\xf9\x19<\xd6\x8d+\xaf\x0c\x8c\xce\xbf\xfcN\xc8\xb4\xe8\xed\x18\xddShe\xb2T\x80\xfbAu\xb3kj\xc9\x1b\xcd\xa1\xde4>\xb3,\xb4\x8b\xa7\x1c7\ra\x19\x86\x94\x8f\xa7\xa3\xae-&\xac\xa1v\xd5Q\x94\x884\x1d&\xbf\xd4\xc9\xe6\x88\xd88\xca+\x9e\xd3\xe4\xdf\x83F\xf0\x16\x12\xf0\xb6\xdet\x1eCE\x9e\x1eQje\xa7\xc2\x13\xa79e\xbcUr\x8d#\x85c\xd0\x8f\t\x95\xa3\xf6\x84f\xfa\x9e\xc5\x1f\xd2\xdet\xc3\x17\xdb=\x92\xab\xfe\xa1\xf4sN\xbeH@\xe5\xc1\xd8\x04\xca\xca\xc8\xf9\xe3p-q.\x10\x1e|5^\xea8slX?\x86\xee,b\x9f\xe3L\xeaxTr\x86\x8c\xa1\xce\x9a\xc1\xcf\x82\x16p\xde\xe5\xc6\xb9\xf6\x03\x15\xfc\xea\x1f\x14az\r\xd9\xbd\x80`\x15\x12[\xfbW\xda\xab6\xd8\xfbZ\x00\xe5)\xae\xd0\x18\x97\x11\xd8\xfa\xe0\xec\x9a\xa7\x8f<\xb3\x98\xd7C\x08\x9cp1kj\x9f\x9a\xe08\xa0SR>\x95\x82\xcd\x12\xacD<\xdd\x1e\xec\x95q\x87}LE\xc6G\xf1\x12.\xe1\xbe\xdfG\x0cV\x1c\xfcr\xdfnW\x94\xfbVR\x16_\n\x83Qv\x04\x1e4\xc4\xfeHBi)\x1a\n\x06\xa5l#\x818\x11\x14!\xa0>\xcfv\\\nT\xb2\xe1\x89R\'\x90\xa5\x90\xb3\xd2\xc5)\xc0R\xf6\x99^\xe1\xf0\x0f(\xf4\\\xbex\x8aq\xbf\x8d\xdel#\x15<v4\xef]\xfdr\xe2\x11\x82\xe1\x03\x0e\x1f\xd1\xa5\xdf\xd1~\xe9\xdd\xfdAG\x7f\x7f\xbd\xac\xbb\x9c\x08\xe6LjsN\xf1\xf5G\xe8*6\x86\x8b\x1b\r\x9ck\xabOU\x91\xf1\xba\r[\xf7\x970\xc4\xdd\x84>\x859u\xe7\xa6[\xf5m\x9f\x1a\x8f\xc0\xc7y\xd2\x8b\x89Q\xa8\xfau\x12\xa3@\x84N\x0c/\x9akHp\x0c\x07\xd1j\x86\xf6\x04\x8f\x85\x00\xaa2\xfap\xb9\xd1\x00\xdb\x91R\xb2\xf3\xcc\xfc\xfdB\x1em\xb0\xd0\x88\x05\x0f\x0f\xae41\xbd\xffqA\x01\x8a\xd8D\xa0\xb7D\xcei\x91$p\r\xc4B\xe5\x98\xee\x9aX\x1c1\xcdc\xa0\\Ycy1\xbb`\x8f\x07\x1f\xef\xc6\x9c+3,\r\xd4cHnBDLw9\x8e,\xff=\x1d\x92\xbfw\xfbd\xbe\xc2~\x8dH\xc8Ht\xc1Om\xe1N\x00\xd4&\xb4\x07E\xf16\xaa\x00\xea(?%\xb8?\xf9/\xc5\x94\x84\xac\xcc`\xdd+\x02\xe1MOi\xd6e\xbc\x1c\x94o`\x8f\xcax@\x94\xc3\xf1b\xea\x8d\x1f\xc0Cg\x93\xe3\xd6\xf3<\xed$D\xf7\x82\x05\xe9\xa7\xcc\x19?\xb4b\xe3\xc4\x83\xb7}\xcf\x89O\xe4\xce\x1a\xfd`a\xbeGs\xb2\xc2\xa2\x8d\xfdFTXR\xf2\xab\xffF\x12v\n\x98\xe9\x90\xc1d\x01\x83W\xd7}[D\xee\x1fc\xefG\xa2\xbf\xdff\xa0.\xc7\xbf\x13/_\x1c\xc5L\xc5\x17b\xc5\xd3P\xad\xc4S\x07\x02\xfd\x85\x90g\x04u\x9fW\xda\x1fq\xb4\x06\xf4\xb9\x1b\x9e\xe2a/K\xd7b\xf2d\x03\xfba\x0e\xb4\x89\x16;0~V\xab\x95\xc3\x90\xd1\xee\xb7b\xfcp\x86As\xa3h\xf2$\x12\x9f\xa3\xa6i\xefl\xc6p~Ww\x95\xdcr\x17\xe0S\xd0\x8d\xee\xe1\x00\xe5A\xa1~\xceh\xf3(\x1cB\xba\x8e\xa8E7\rr>=:u\xecpz\xa2\x01L\x88\xb9\t\xe7\xec;\xef\xa1\xff\xdf%.9\xf4\x13\xcau\xa0\xb8H\x07`\xda\xe8T\xf3c\xb0\xf0\x17\xbc\xa5:\x8b\xb3\x9dFRM\xdd\ty:\xcd\xaa\x80~K:iy\xac=\xe5\xa2\xaca\xd6\xc7\xc87\xc4\x08\xad\x87\xe8h\xa3i\x89\xaa\xea\xb9\xf5\x10\xabsw\xf0\xae\xa0Q7\xb6\x11\x1b\xe9\x89\x94fU\x96i+^\xba\xa2\x9e\xf1\xe2R\xe5y_\xb0;\xa7\xe8B\x0ef\xb9\xaf\xa8\xba\xfa\xd6\xf1\xb6ta{\xd3\xe4QtC\x8b\x92\xe9\xc6\xe0)\x90\xdfP\xb5K\xf2n|\xf9\xba\xa5-o\xban\xddN\x96\xc4\xcaC\x93\x96\xf3\xf9\xe9N\x16\xdf\x80\t\x05\xee\xf7\xa2\x94\xe0\x02\xd3k\x102\xbe\xb7W/G\xc5\x96\x9d\x8a\xe3\xa2^\xc7,\xd4\xf3|\xafH\n\x15ftV\xb0\xef\xc5\xaf\xef`\x00_S\x89d\x0cbSa\xb4\x9cN\xde\xaeIM@:F\xcc\x00\x01\x1e\xd7P,\n\x07\xcd\xed\x9f\xd1\x92\xc2\xae\xec\x9a\xe5\xd2v\xff\xb2\xe5\xe4-JN\x02\xae\xfa\xd4m\x82\x9eL0V\xd8C\xd1GL\xdc'
       ns        = None
       ar        = ''

[Raw]

          load      = b'\xdb\xb4\xa1n\xe52"\xb5UA*\x9bQ\xdd\xa9\x87?\xe3w\x9c\x00F\xd9\x9a2\xd6\xd5\x9f\xd1;r\xfb\xe7S\x13\xecm\x19wP\xd8\xfd\xd8\xec\x9bA\xb0\xe1\xb0\xea\x8fNw\xc4\xf2\x12\x8b\x89J1n\xb8\xacc\x07M1\xe2\x18\x08\x8e\x9f\xb1\x01\xfb\xbe">\x0etq::F\xbfek\x94\xdcN\xa5s\xfd4\xf36\x96\xd7\xd8a\x8c\x1e1\xa6\x97\xd9\x1f\xeaz\x91\x0b\x93ZLI\x15`$\x1b\x96(\xe5\x02\xb0\n\x08\x82\xb6\xa7+4\xca\xc3\xf8\xe7\x05}T\x1c_{\x884E\xcd,@\x0emx&+h\xa1\xd2\x95\x04\xa7x\xb8\xeaD\xecS\xd7s,\xeb\xff\xa0M\xd5\xcb\x00\xe6\x0e\x1dqa\xdeo\x9c\xdc\xb6#\x02pA;,2]\xa7-\xe7\xc79l\x02\xf4\xd2\x197Ccd\x0c\x8eU9\xc6\x9e\x9d\xad\xffa\xc6\xe3be\xce\xee\x94,\x973(\xac\xdak\xd2.w\x89O~\xfc\x99YSB\xb1W\x99F\x15/r\x81p\x8a{\x1b_}\xbb\x9c\x19\xca\xa4\x1a}\xdd\x99\xc0\xe3\x9c\xdf|\x81M\x04\xd1\t\xcb\xf4\x95\x17[\x9ej"M\x07\xec\x93\xb8DO.\x94W\xc3eg|\x9a\\\x8b\xa2\xf36\x82d\x80\xcd!\xb2\xcd\xe9:@\x103%\xfd\xfa\xd1\xe5\xe4\xd2\xbe\xb5\x7fF(`\x85\xedW\xd9\x98\xff\xe7A3\x92\x93\xd3\x19\x9f\xe7\x1b\x17\xaa\x81\x1cS\xee\xed\x94Q\xf1\x98\x02\x1fH\xba\xc5\x87\x03\x94\xa0\xee9\xb8\xc5_q\xe6P\xf7G\x0e\x12\x8b"C\xa7j\xf9\x19<\xd6\x8d+\xaf\x0c\x8c\xce\xbf\xfcN\xc8\xb4\xe8\xed\x18\xddShe\xb2T\x80\xfbAu\xb3kj\xc9\x1b\xcd\xa1\xde4>\xb3,\xb4\x8b\xa7\x1c7\ra\x19\x86\x94\x8f\xa7\xa3\xae-&\xac\xa1v\xd5Q\x94\x884\x1d&\xbf\xd4\xc9\xe6\x88\xd88\xca+\x9e\xd3\xe4\xdf\x83F\xf0\x16\x12\xf0\xb6\xdet\x1eCE\x9e\x1eQje\xa7\xc2\x13\xa79e\xbcUr\x8d#\x85c\xd0\x8f\t\x95\xa3\xf6\x84f\xfa\x9e\xc5\x1f\xd2\xdet\xc3\x17\xdb=\x92\xab\xfe\xa1\xf4sN\xbeH@\xe5\xc1\xd8\x04\xca\xca\xc8\xf9\xe3p-q.\x10\x1e|5^\xea8slX?\x86\xee,b\x9f\xe3L\xeaxTr\x86\x8c\xa1\xce\x9a\xc1\xcf\x82\x16p\xde\xe5\xc6\xb9\xf6\x03\x15\xfc\xea\x1f\x14az\r\xd9\xbd\x80`\x15\x12[\xfbW\xda\xab6\xd8\xfbZ\x00\xe5)\xae\xd0\x18\x97\x11\xd8\xfa\xe0\xec\x9a\xa7\x8f<\xb3\x98\xd7C\x08\x9cp1kj\x9f\x9a\xe08\xa0SR>\x95\x82\xcd\x12\xacD<\xdd\x1e\xec\x95q\x87}LE\xc6G\xf1\x12.\xe1\xbe\xdfG\x0cV\x1c\xfcr\xdfnW\x94\xfbVR\x16_\n\x83Qv\x04\x1e4\xc4\xfeHBi)\x1a\n\x06\xa5l#\x818\x11\x14!\xa0>\xcfv\\\nT\xb2\xe1\x89R\'\x90\xa5\x90\xb3\xd2\xc5) \xc0R\xf6\x99^\xe1\xf0\x0f(\xf4\\\xbex\x8aq\xbf\x8d\xdel#\x15<v4\xef]\xfdr\xe2\x11\x82\xe1\x03\x0e\x1f\xd1\xa5\xdf\xd1~\xe9\xdd\xfdAG\x7f\x7f\xbd\xac\xbb\x9c\x08\xe6LjsN\xf1\xf5G\xe8*6\x86\x8b\x1b\r\x9ck\xabOU\x91\xf1\xba\r[\xf7\x970\xc4\xdd\x84>\x859u\xe7\xa6[\xf5m\x9f\x1a\x8f\xc0\xc7y\xd2\x8b\x89Q\xa8\xfau\x12\xa3@\x84N\x0c/\x9akHp\x0c\x07\xd1j\x86\xf6\x04\x8f\x85\x00\xaa2\xfap\xb9\xd1\x00\xdb\x91 R\xb2\xf3\xcc\xfc\xfdB\x1e-m\xb0\xd0\x88\x05\x0f\x0f\xae41\xbd\xffqA\x01\x8a\xd8D\xa0\xb7D\xcei\x91$p\r\xc4B\xe5\x98\xee\x9aX\x1c1\xcdc\xa0\\Ycy1\xbb`\x8f\x07\x1f\xef\xc6\x9c+3,\r\xd4cHnBDLw9\x8e,\xff=\x1d\x92\xbfw\xfbd\xbe\xc2~\x8dH\xc8Ht\xc1Om\xe1N\x00\xd4&\xb4\x07E\xf16\xaa\x00\xea(?%\xb8?\xf9/\xc5\x94\x84\xac\xcc`\xdd+\x02\xe1MOi\xd6e\xbc\x1c\x94o`\x8f\xcax@\x94\xc3\xf1b\xea\x8d\x1f\xc0Cg\x93\xe3\xd6\xf3<\xed$D\xf7\x82\x05\xe9\xa7\xcc\x19?\xb4b\xe3\xc4\x83\xb7}\xcf\x89O\xe4\xce\x1a\xfd`a\xbeGs\xb2\xc2\xa2\x8d\xfdFTXR\xf2\xab\xffF\x12v\n\x98\xe9\x90\xc1d\x01\x83W\xd7}[D\xee\x1fc\xefG\xa2\xbf\xdff\xa0.\xc7\xbf\x13/_\x1c\xc5L\xc5\x17b\xc5\xd3P\xad\xc4S\x07\x02\xfd\x85\x90g\x04u\x9fW\xda\x1fq\xb4\x06\xf4\xb9\x1b\x9e\xe2a/K\xd7b\xf2d\x03\xfba\x0e\xb4\x89\x16;0~V\xab\x95\xc3\x90\xd1\xee\xb7b\xfcp\x86As\xa3h\xf2$\x12\x9f\xa3\xa6i\xefl\xc6p~Ww\x95\xdcr\x17\xe0S\xd0\x8d\xee\xe1\x00\xe5A\xa1~\xceh\xf3(\x1cB\xba\x8e\xa8E7\rr>=:u\xecpz\xa2\x01L\x88\xb9\t\xe7\xec;\xef\xa1\xff\xdf%.9\xf4\x13\xcau\xa0\xb8H\x07`\xda\xe8T\xf3c\xb0\xf0\x17\xbc\xa5:\x8b\xb3\x9dFRM\xdd\ty:\xcd\xaa\x80~K:iy\xac=\xe5\xa2\xaca\xd6\xc7\xc87\xc4\x08\xad\x87\xe8h\xa3i\x89\xaa\xea\xb9\xf5\x10\xabsw\xf0\xae\xa0Q7\xb6\x11\x1b\xe9\x89\x94fU-\x96i+^\xba\xa2\x9e\xf1\xe2R\xe5y_\xb0;\xa7\xe8B\x0ef\xb9\xaf\xa8\xba\xfa\xd6\xf1\xb6ta{\xd3\xe4QtC\x8b\x92\xe9\xc6\xe0)\x90\xdfP\xb5K\xf2n|\xf9\xba\xa5-o\xban\xddN\x96\xc4\xcaC\x93\x96\xf3\xf9\xe9N\x16\xdf\x80\t\x05\xee\xf7\xa2\x94\xe0\x02\xd3k\x102\xbe\xb7W/G\xc5\x96\x9d\x8a\xe3\xa2^\xc7,\xd4\xf3|\xafH\n\x15ftV\xb0\xef\xc5\xaf\xef`\x00_S\x89d\x0cbSa\xb4\x9cN\xde\xaeIM@:F\xcc\x00\x01\x1e\xd7P,\n\x07\xcd\xed\x9f\xd1\x92\xc2\xae\xec\x9a\xe5\xd2v\xff\xb2\xe5\xe4-JN\x02\xae\xfa\xd4m\x82\x9eL0V\xd8C\xd1GL\xdc'

Пакет, который был прослушан компилятором Python:

[Ethernet] ###

dst = 48: 2c: a0: 5f:bb: 50
src = b8: 81: 98: 86: ee: f3
type = 0x800

[IP]

 version   = 4
 ihl       = 5
 tos       = 0x0
 len       = 61
 id        = 30144
 flags     =
 frag      = 0
 ttl       = 128
 proto     = udp
 chksum    = 0xec5d
 src       = 192.168.43.127
 dst       = 192.168.43.194
 \options   \

[UDP]

    sport     = 63691
    dport     = domain
    len       = 41
    chksum    = 0xf1c7

[DNS]

       id        = 34891
       qr        = 0
       opcode    = QUERY
       aa        = 0
       tc        = 0
       rd        = 1
       ra        = 0
       z         = 0
       ad        = 0
       cd        = 0
       rcode     = ok
       qdcount   = 1
       ancount   = 0
       nscount   = 0
       arcount   = 0
       \qd        \
        |###[ DNS Question Record ]###
        |  qname     = 'docs.python.org.'
        |  qtype     = A
        |  qclass    = IN
       an        = None
       ns        = None
       ar        = None

Я инициализировал скрипт, используя класс Python.h в c ++, и мне нужно поле 'qname' в пакете.Любое решение будет оценено.

...