使用Ruby获取局域网上可用主机名的列表

使用Ruby获取局域网上可用主机名的列表,ruby,networking,Ruby,Networking,有办法获得本地网络上的主机名列表吗?我在这里工作,我想写一个ruby程序,列出网络上计算机的主机名,我可以选择将文件推送到其中 所有的计算机都将安装在OSX 10.7/10.8上。正如其他人所说,您确实没有提供太多的细节,但这里有一个框架可以让您开始使用 首先,如果您只想在网络上执行此操作,并且可以正确配置反向DNS,则可以使用resolv库执行此操作: Resolv.getname“74.125.224.197” 查看有关Resolv的更多信息 这将获得主机名,但当然,文件传输不需要它。如果您

有办法获得本地网络上的主机名列表吗?我在这里工作,我想写一个ruby程序,列出网络上计算机的主机名,我可以选择将文件推送到其中


所有的计算机都将安装在OSX 10.7/10.8上。

正如其他人所说,您确实没有提供太多的细节,但这里有一个框架可以让您开始使用

首先,如果您只想在网络上执行此操作,并且可以正确配置反向DNS,则可以使用
resolv
库执行此操作:

Resolv.getname“74.125.224.197”

查看有关Resolv的更多信息


这将获得主机名,但当然,文件传输不需要它。如果您在所有机器上都有SSH侦听,那么可以将所有机器设置为信任您的密钥并使用SSH。你会想要这个的。或者,您可以在用户名和密码中编写脚本,但这会带来很大的安全风险

你的主机操作系统是什么?什么交通工具?你对Ruby有多少经验?这听起来很雄心勃勃,这个程序有几个部分。Ruby的基础语言我很熟悉。但我似乎无法在Ruby中找到答案,我想尝试避免用C编写扩展,因为我对C已经相当生疏了。我真的可以很好地处理应用程序的其余部分,我只需要看看是否有可能用Ruby检测网络上的主机。我正在使用的每台计算机都将安装在OSX 10.7或10.8上。谢谢,我将对此进行研究。更具体地说,我在一所学校工作,不负责计算机成像。他不会让任何人去做这些事情,而且有太多的政治因素要打这场仗。我想做的是,编写一个托管在服务器上的脚本,显示主机,这样我可以选择25台名为testingcenter01-testingcenter25的计算机,然后它将访问计算机并将文件目录复制到system/library/applications文件夹中的某个位置。我知道怎么做,但在我们操作的局域网上找到一个主机列表。你的系统管理员会允许吗?在很多地方,你会因为违反他们的规定而被网络开除。相反,为什么不写一些用户安装的东西,使用他们的帐户推送文件呢。如果没有管理层的全面认可,你的想法永远不会在企业中实现。是的,我完全有权这么做。我们学校有大约950台电脑,大部分在中学的旁边。每年大约有3次状态测试会给我们提供新的测试,这些测试需要复制到运行测试的程序目录中。我只是想让它比从一台电脑到另一台电脑复制文件更简单。