如何创建 DNS 响应数据包

How do I create a DNS response packet

这个我试过了,首先是dns请求包。第二个数据包也被识别为 dns 请求数据包。我希望第二个数据包是第一个数据包的 dns 响应

 dns = [
    IP(src=src, dst=dst) /
    UDP(sport=53, dport=2333) /
    DNS(id=1, rd=1, qd=DNSQR(qname='www.bittorrent.com')),

    IP(dst=src, src=dst) /
    UDP(sport=2333, dport=53) /
    DNS(id=1,rd=1,tc=0,ra=1,z=1,qdcount=0,ancount=0,nscount=0,arcount=0, qd=DNSQR(qname='www.bittorrent.com',qtype="A",qclass="IN")) / DNSRR(rrname="www.bittorrent.com")
]
wrpcap("test.pcap", dns)

在 GitHub 上找到了一些信息,这些信息可能对您的问题有所帮助。这使用 dnslib 模块。

https://github.com/paulc/dnslib