linux – Avahi主机名解析:是否在某处缓存?

linux – Avahi主机名解析:是否在某处缓存?,第1张

概述我使用Fedora 18和avahi命令行工具(版本0.6.31) 我使用avahi-resolve-host-name来发现我子网上单元的IP地址,以便在开发过程中进行测试.我使用Wireshark监控请求和响应.在一次成功的请求和响应之后,Wireshark上没有进一步的请求,但该工具仍然返回一个IP地址.计算机/ 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.

Is it possible the computer/avahi daemon/something else is ‘caching’ the result?

是的,avahi-daemon正在缓存查找结果.虽然这似乎没有在功能中明确列出,但avahi-daemon(8)手册页提示:

The daemon […] provIDes two IPC APIs for local programs to make use of the mDNS record cache the avahi-daemon maintains.

I wish to send out the request packet with EVERY CALL of avahi-resolve-host-name. Is this possible?

是的.相关选项是cache-entrIEs-max(来自avahi-daemon.conf(5)):

cache-entrIEs-max= Takes an unsigned integer specifying how many resource records are cached per interface. Bigger values allow mDNS work correctly in large LANs but also increase memory consumption.

要达到预期效果,您只需设置:

cache-entrIEs-max=0

这将完全禁用缓存并强制avahi-daemon在每个请求上重新发出MDNS数据包,从而使您可以监视它们.

但是,我应该在这里注意,这也会使avahi对于正常使用几乎没用.虽然avahi-daemon将发出查询数据包,但它将无法存储结果,并且每次调用avahi-resolve-host-name(以及其他命令行工具,nss-mdns,D-Bus API ……)都将失败.

总结

以上是内存溢出为你收集整理的linux – Avahi主机名解析:是否在某处缓存?全部内容,希望文章能够帮你解决linux – Avahi主机名解析:是否在某处缓存?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1039897.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存