如果攻击成功,在本地 DNS 服务器的缓存中,example.com 的 NS 记录应该会改为 ns.attacker32.com。当服务器收到对 example.com 域内的任何域名的查询请求时,它会向 ns.attacker32.com 发送查询请求,而不是向原本合法的域名服务器。
为了验证攻击是否成功,在用户主机上运行以下两条 dig 命令。在两次响应中,www.example.com 的 IP 地址应该相同,并且应该是在攻击主机的区域文件中配置的内容。
//向本地 DNS 服务器发出查询请求
$ dig www.example.com
//直接向 attacker32 域名服务器发出请求
$ dig @ns.attacker32.com www.example.com
请在实验报告中给出你的观察结果 (截图),并解释你认为攻击成功的原因。需要注意的是,当你第一次运行 dig 命令时,请使用 Wireshark 来捕获网络流量,并指出 dig 命令触发了哪些数据包。根据数据包追踪来证明你的攻击是成功的。请注意,在运行第一个 dig 命令后,DNS 结果可能会缓存在本地 DNS 服务器上。如果你在使用 Wireshark 之前运行了第一个 dig 命令,这可能会影响结果。你可以在本地 DNS 服务器上使用 "sudo rndc flush" 清除缓存,但这将需要你重新进行攻击。