使用getaddrinfo缓存DNS

Ash*_*dav 6 linux ip dns networking

我正在使用系统调用getaddrinfo()从DNS获取IP地址.

我想知道缓存信息是否存储在Linux上?

如果存储了缓存的信息,是否可以清除缓存信息?

我想知道如何清除缓存信息.

谢谢 .

eph*_*ent 5

一般来说,不会,glibc 解析器不会缓存getaddrinfo结果。

在运行的系统上nscd,某些名称可能会被缓存。(至少,gethostbyname可能会通过缓存;我不确定getaddrinfo。)重新启动守护程序以清除缓存。

通常预期上游(可能是递归的)DNS 解析器正在执行缓存。在大多数情况下,这是您无法控制的。