Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1751672
  • 博文数量: 100
  • 博客积分: 10122
  • 博客等级: 上将
  • 技术积分: 4092
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-04 20:28
文章分类

全部博文(100)

文章存档

2010年(2)

2009年(28)

2008年(70)

我的朋友

分类: LINUX

2008-11-01 22:39:13

avahi是利用mDNS协议的,实现本地网内服务发现的软件,如寻找局域网内的在线用户、打印机等。该技术在 MacOS上最先使用,被称为 Rendezvous, Bonjour或 zeroconf.

下面以 fedora 系统为例,简单说说如何用这个服务发现局域网内的机器。
首先确定系统的 avahi 服务打开。
然后安装 avahi-tools:
# yum install avahi-tools
...
$ rpm -q avahi-tools
avahi-tools-0.6.22-10.fc9.i386

然后执行 avahi-discover 就可以查询局域网内的所有服务,其中服务类型为 _workstation._tcp 的是所有启用 avahi-daemon 的都会注册的服务,用于知道机器是否在局域网内存在。除此之外还有 iTune 音乐共享服务等。

为了能够用脚本监视上线/下线的机器,可以使用 avahi-browse 程序,如:
$ avahi-browse -pt _workstation._tcp
+;br-vms;IPv4;hellwolf-sony\032\09132\0588a\058ea\058ce\058ef\058aa\093;Workstation;local
+;wlan0;IPv4;hellwolf-n810\032\09100\0581d\0586e\058d5\0588b\058a9\093;Workstation;local
+;wlan0;IPv4;hellwolf-sony\032\09100\0581d\058e0\05858\058ba\058e7\093;Workstation;local

-p 选项使输出结果易于用脚本分析,然后你就可以用 shell 脚本每隔1秒分析这段命令的输出,然后执行相关任务了。

另外,如果你查看 /usr/bin/avahi-discover 文件,会发现是一个 python 脚本,依葫芦画瓢就能做一个更好的服务监视程序了。

阅读(3049) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~