是否需要知道在我的本地机器上要阻止哪个端口,以便 A 记录上的 nslookup 不起作用?要了解上述内容,我需要了解 A 记录上的查找请求如何从本地机器(端口)发送到名称服务器/根服务器?
例如:C:> nslookup -type=a google.com
服务器:MyDslModem.local.lan 地址:192.168.1.1
非权威答案:名称:google.com 地址:209.85.231.104
这里查找从本地机器的哪个本地端口开始?
答案1
如果您告诉我们为什么要这样做,您会得到更好的答案。
DNS 流量使用 UDP 端口 53,但如果您想阻止它,为什么不从网络适配器中删除 DNS 服务器配置呢?
答案2
传出网络请求是动态的,路由器上的网络地址转换将使用可用的高端口。当它离开您的网络 (192.168.1.0/24) 时,您的路由器将使用 NAT 分配可用的动态端口来处理传出请求。
除此之外,如果您想阻止主机记录查找成功,您可以在本地主机文件中放置虚假记录和 IP 地址,或者在转发之前将其映射到本地 DNS 服务器上的虚假地址。
答案3
您可以编辑本地主机文件以将特定名称指向 127.0.0.1 以阻止访问。
这是有效的,因为(在大多数情况下)查找将在 DNS 服务器之前检查本地主机文件 - 如果返回值,它就不会再查找任何内容。
但是,在 Windows 上使用 nslookup 验证这一点不起作用,因为 nslookup 会查询名称服务器(因此得名)。您可以使用 ping 检查主机名 - ping 会进行正常查找。