问题标签 [avahi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9727 浏览

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 地址不正确的单元。

0 投票
1 回答
1216 浏览

cmake - 用 cmake 找到 libavahi

我需要将 libavahi-client3 添加到我的项目的 cmake 依赖项中。还需要检查 libavahi-client3 和 libavahi-common3 是否存在。仅与当前库(avahi)有关的问题

尝试做这些事情:

或者这个变体:

两者都不起作用,我搜索了 findAvahi.cmake 之类的东西,但什么也没找到。那么我应该编写自己的搜索模块还是有其他更好的选择?

0 投票
3 回答
2501 浏览

linux - 使用 sed 从列表中删除 IPv6 地址

使用 avahi,我在我的网络范围内填充了一个 IP 地址列表。然后使用 sed 细化填充的信息以提供以下输出

执行此操作的命令如下:

这在大多数情况下都可以正常工作,但是在奇怪的情况下,诸如 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx 之类的地址会显示在列表中,我想省略它们。

我知道我可以使用正则表达式或其他东西来确保数据始终与有效的 ip 匹配,即 xxx.xxx.xxx.xxx 但我不确定如何去做。任何帮助深表感谢。

该命令使用 bash 脚本在 linux 上运行,我希望它只返回 xxx.xxx.xxx.xxx 格式的有效 IP 地址。

0 投票
1 回答
4298 浏览

linux - 如何在 linux 和嵌入式 linux 上使用本地链接 (RNDIS) 设置 autoip

我试图弄清楚如何在 RNDIS Usb Gadget 上自动设置 zeroconfig 网络地址。

目前,当我插入设备时,我必须在设备上

在主机上我必须

他们都会得到一个 169.xxx 号码,我可以 ping,但有时它不起作用。该设备没有 NetworkManager,我们使用忙框启动,我认为这是一个可能的解决方案Static Host RNDIS IP by linux based USB Gadget device,但我更喜欢使用本地 ip。

很久以前,我有一些关于如何设置脚本以在接口可用时在 /etc/network/interfaces 中运行的一些模糊说明,但我很难再次找到它。

谢谢!

0 投票
2 回答
10064 浏览

linux - Could I use avahi to publish service across subnetworks?

Avahi is usually used for service discovery. I want to make a service discoverable from a different subnetwork, could I use avahi to achieve this?

For example, the service host ip is "192.168.1.100" with mask "255.255.255.0", so it's in 192.168.1.X subnetwork. Another host ip is "192.168.2.100" with mask "255.255.255.0". Could I use avahi to let this host discover the previous service host?

0 投票
0 回答
760 浏览

ios - iOS bonjour 浏览器不可靠

我正在使用 Xamarin(前 Mono Touch)的 NSNetServiceBrowser 来扫描 bonjour 设备。这在大多数情况下都有效,但似乎有

a) 一个大的缓存问题,它没有意识到有新设备 b) WIFI 有问题,例如当我关闭 wifi 并重新打开它时

大多数时候,可以找到 Apple Bonjour 设备,但在 a) 或 b) 的情况下很少显示基于 avahi 的设备(网络打印机)。

顺便说一下,我知道iOS 上的 NSNetServiceBrowser/Bonjour 问题

0 投票
1 回答
740 浏览

linux - can't ping avahi alias from windows over LAN but can from other linux VMs

Context: i've set up a vm server for GIS testing and dokuwiki on the domain root. I'd like to serve the gis web apps on a subdomain so that dokuwiki url renaming will never conflict (and it just feels cleaner). I thought i had it solved with avahi-aliases, but then discovered...

Problem: I can't reach the subdomain from any windows pcs on the LAN. Linux VMs connect just fine. Am i trying the impossible or just doing it wrong? (i'm a DNS noob) Why would Linux find the subdomain but Windows not, even on the same LAN??

Setup: i can't change anything on the corporate routers/servers. VMs are on different PCs on the same corporate LAN.

VM1 (virtualbox, hosted on windows PC1): Mint 13

VM2 (virtualbox headless server, hosted on windows PC2): ubuntu server 12.04, LAMP, samba, avahi, avahi-aliases.

primary domain: vm2.local

subdomain: gis.vm2.local (configured in apache and avahi-alias)

What works: I can reach vm2.local AND gis.vm2.local from vm1 (via ping and browser). I can reach vm2.local from any windows pc on LAN (via ping browser).

What doesn't work: I cannot reach gis.vm2.local from any windows pcs on the LAN.

Any ideas or advice is appreciated!

0 投票
0 回答
2063 浏览

dbus - 通过 dbus-send 访问 Avahi

在 hacking 的过程中dbus-monitor,我尝试连接到 Avahi 守护进程:

这将响应 Avahi 守护程序状态的变化。

但是,我无法浏览这样的服务。

据我了解,这应该响应新的/删除的 http 服务实例,但它没有。

为什么?

更新:

使用 python 和 c API 执行上述 shell 命令的等效项按预期工作。但是,他们无法连接到我使用构建的 ServiceBrowserdbus-send并且我无法使用dbus-monitor来收听他们构建的 ServiceBrowser。

在这一点上,我最好的猜测是:

  1. 一旦连接关闭(通过dbus-send命令终止),我创建的 ServiceBrowser 将被销毁。但是,这并不能解释为什么 dbus-monitor无法连接到与我的 python 脚本进行主动通信的 ServiceBrowser。
  2. 来自 ServiceBrowser 的信号仅发送到实例化它们的连接。
0 投票
0 回答
1336 浏览

python - 如何伪造IP以在python中进行测试

我有一项使用 avahi 发布的服务,可以在不同的机器上运行。

我有一些代码,可以检测并获取该机器的 IP,然后开始使用该服务。

我不想自动化测试,所以我需要以某种方式伪造几台机器,以便在 avahi 解析它们时它们会有不同的 IP 地址。

这可能吗?

0 投票
1 回答
1565 浏览

multicast - 在哪里可以过滤多播数据包?

我在我的路由器上安装了 openWRT 发行版,并在其中启用了对 avahi 的支持。我的目标是在我的网络中发现网络服务。

我用宣布的服务将我的 PC 插入 LAN 端口。在路由器上,我在网桥接口上运行 tcpdump:tcpdump -i br0 -vvn udp port 5353

在 avahi 浏览执行期间,我收到输出:root@localhost:~# avahi-browse -art

但是在我的 PC 上,wireshark 在那次通话期间没有显示任何多播查询,因此没有找到服务。

这是否意味着路由器以某种方式过滤多播数据包?我知道的唯一方法是过滤 ebtables,它没有显示过滤 mDNS 地址:

这些多播数据包可以在哪里过滤/丢弃?