结论:windows有DNS缓存,Linux默认无DNS缓存,只能依赖于安装其他软件。

 

一、不同操作系统的客户端的DNS缓存差别

1、windows 系统中dns 解析器会使用系统的dns缓存来提高dns域名解析效率。

例如: 查看当前的dns cache内容,可以使用  ipconfig /displaydns

可以看到当前的dns缓存ip和TTL值

 

2、清除当前的dns缓存内容,可以使用 ipconfig  /flushdns

 

3、参考这篇文档,windows默认的dns域名老化时间是5分钟。

http://www.itgeared.com/articles/1048-dns-resolver-cache-and-time-to-live-ttl/

 

 4、Linux上google了多次,最终得到一个结论,Linux上OS级别的DNS缓存。

https://stackoverflow.com/questions/11020027/dns-caching-in-linux

 

5、通过试验,可以很明显看到Linux上(Centos 7)无dns缓存。

(1)左右图是同一台物理机,安装了centos7。

(2)左边是发起ping 操作,每次ping 1个ip地址,右边是抓包,只抓dns 报文(udp 53)。

(3)左边虽然ping 3次,其实这3次之间间隔不超过1秒钟,可以看到右边是产生了3次的dns请求和回应报文。

 

 

二、不同操作系统的客户端主动发起dns操作的命令区别

1、windows系统,使用命令 nslookup

 

 

2、Linux系统,使用命令 dig

 

 

posted on 2019-06-29 17:36  爱编程的小兵  阅读(466)  评论(0编辑  收藏  举报