章节大纲

  • 该任务专注于发送 DNS 请求。为了完成攻击,攻击者需要触发目标 DNS 服务器发出 DNS 查询,这样攻击者才有机会去伪造 DNS 响应。由于攻击者需要尝试多次才能成功,因此最好使用程序来自动发送 DNS 查询。

    学生需要编写一个程序来向目标服务器发送 DNS 请求(即我们配置的本地 DNS 服务器)。具体任务是编写该程序并证明 (使用 Wireshark ) 他们的查询请求可以触发目标 DNS 服务器会发出相应的 DNS 查询。该任务对性能的要求不高,因此学生可以使用 C 语言或Python (使用Scapy) 编写此代码。以下提供了 Python 的代码示例 (学生需要将其中的 +++ 替换为实际的值)。
    Qdsec  = DNSQR(qname='www.example.com')
    dns    = DNS(id=0xAAAA, qr=0, qdcount=1, ancount=0, nscount=0,
                 arcount=0, qd=Qdsec)
    
    
    ip  = IP(dst='+++', src='+++')
    udp = UDP(dport=+++, sport=+++, chksum=0)
    request = ip/udp/dns