linux – Avahi主机名解析:是否在某处缓存?
我使用Fedora 18和avahi命令行工具(版本0.6.31)
我使用avahi-resolve-host-name来发现我子网上单元的IP地址,以便在开发过程中进行测试.我使用Wireshark监控请求和响应.在一次成功的请求和响应之后,Wireshark上没有进一步的请求,但该工具仍然返回一个IP地址.计算机/ avahi守护进程/其他东西是否有可能“缓存”结果? 问题:我希望通过每次调用avahi-resolve-host-name发送请求数据包.这可能吗? 原因:可以说我得到’误报’.我尝试解决’test1.local’,我得到一个结果IP,但该单位不再位于此IP.我希望每次都发送请求,这样我就可以避免看到IP地址不正确的单位. 解决方法
我看到我回答你的问题有点迟了但是我会留下一个通用的答案,万一其他人偶然发现了这个问题.
我的回答是基于avahi-0.6.32_rc.
是的,avahi-daemon正在缓存查找结果.虽然这似乎没有在功能中明确列出,但avahi-daemon(8)手册页提示:
是的.相关选项是cache-entries-max(来自avahi-daemon.conf(5)):
要达到预期效果,您只需设置: cache-entries-max=0 这将完全禁用缓存并强制avahi-daemon在每个请求上重新发出MDNS数据包,从而使您可以监视它们. 但是,我应该在这里注意,这也会使avahi对于正常使用几乎没用.虽然avahi-daemon将发出查询数据包,但它将无法存储结果,并且每次调用avahi-resolve-host-name(以及其他命令行工具,nss-mdns,D-Bus API ……)都将失败. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |