0

我见过很多关于如何通过 Scapy 发送 DNS 请求的示例,但对于 IPv6 则没有。作为参考,我使用的是 Python 3,并且ping6 ipv6.google.com对我来说是成功的,所以我似乎有一个合适的网关。我正在尝试结合https://www.packetlevel.ch/html/scapy/scapyipv6.htmlhttps://thepacketgeek.com/scapy-p-09-scapy-and-dns/,但我不是确定如何做到这一点(只是替换IP(dst=dst)不起作用IPv6(dst=dst))。作为参考,我一直在尝试使用 Google 的 DNS 服务器(https://developers.google.com/speed/public-dns/docs/using)解析“google.com”。

编辑:我希望能够选择我到达的 DNS 服务器。对于 IPv4,我可以这样做: sr1(IP(dst=dns_dst)/UDP(dport=53)/DNS(rd=1, qd=DNSQR(qname=query_name)))

4

1 回答 1

2
  • IPv6 平:

    sr1(IPv6(dst="www.google.com")/ICMPv6EchoRequest(),timeout=3)
    

这将制作一个简单的 IPv6 数据包,顶部有一个回显请求,并在第 3 层发送/接收它

  • Google 公共服务器上的 DNS over IPv6,请求 IPv6 地址:

    sr1(IPv6(dst="2001:4860:4860::8888")/UDP()/DNS(qd=DNSQR(qname="www.google.com", qtype="AAAA"))) 
    
于 2019-10-01T11:01:06.210 回答