Scapy を使用した TCP DNS リクエストの解析に関する指導が必要です。
これは、着信 UDP DNS 要求を分析する方法です。
In [1]: from scapy.all import *
In [10]: udp_request=b' \xaa\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x03cnn\x03com\x00\x00\x10\x00\x01'
In [11]: DNS(udp_request).qd
Out[11]: <DNSQR qname='cnn.com.' qtype=TXT qclass=IN |>
それはただの桃です!ただし、TCP を使用する着信 DNS 要求を調べるのに苦労しています。
In [12]: tcp_request = b'\x00\x19\x83\xec\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x03cnn\x03com\x00\x00\x10\x00\x01'
In [13]: DNS(tcp_request)
Out[13]: <DNS id=25 qr=1 opcode=QUERY aa=0 tc=1 rd=1 ra=1 z=1 ad=1 cd=0 rcode=12 qdcount=256 ancount=1 nscount=0 arcount=0 qd='' an=<DNSRR rrname='.' type=MD rclass=25454 ttl=1845715823 rdata='' |> ns=None ar=None |>
In [14]: DNS(tcp_request).qd
Out[14]: b''
空白の出力が表示されていることに注意してください。私は検索してきましたが、明らかにこれが可能です(参照:https ://github.com/secdev/scapy/issues/819など)。どうすればそれを機能させることができますか?