1

我正在使用wireshark从udp.port == 53捕获数据包。

当我执行“ping Domain”名称时。我可以在 udp.port == 53 上捕获 2 个数据包。

当我执行相同的 ping 操作时,我不会捕获任何必须更改域名才能捕获数据包的内容。

为什么会发生这种情况,或者实际发生了什么,为什么我首先要捕获它们???

4

1 回答 1

2

第一次执行“ping {domain name}”时,如果系统没有缓存{domain name}的IP地址,它会发送一个DNS请求来查找它并返回一个DNS响应,第一个一个去端口 53,第二个来自端口 53。

当第一次 DNS 查找完成时,解析器将缓存结果,以便后续查找 {domain name} 的尝试不会进行 DNS 查找 - 它们只会返回先前 DNS 查找的结果 - 因此会发生更快,并减少网络流量和 DNS 服务器上的负载。它不会永远记住结果,因为该主机名的 IP 地址可能会更改;查找的结果具有“生存时间”,并且在该时间到期后,缓存的结果将被丢弃并进行新的 DNS 查找。

有关 DNS ,请参阅维基百科页面的“记录缓存”部分

于 2013-02-24T20:14:55.010 回答