Linux上的C#:如何枚举本地网络上的计算机?

时间:2010-08-21 13:36:48

标签: c# .net linux mono network-programming

如何枚举本地网络中远程计算机的所有计算机名称和IP?

注意:不在Windows上(如何通过谷歌找到),我需要一些适用于Linux的东西! 或者C / C ++示例也会这样做,我可以从C#调用libc。

3 个答案:

答案 0 :(得分:1)

您可以运行smbtree以确保安装了samba。

运行smbtree,它将显示网络上的所有域名,计算机和公共共享。在文件中写入此详细信息并使用此文件获取所需信息

查看smbtree的输出

PEGASUS

W2000WINXP是域名

RHEL4BHM2003RHEL4B\ADMIN$RHEL4B\IPC$这些是服务器名称

RHEL4B\domaindata$input = '4BFC434845000000'; echo iconv('ISO-8859-1', 'UTF-8', hex2bin($input)); NUL这些是分享

答案 1 :(得分:0)

从samba中查看 smbtree 的来源。

答案 2 :(得分:0)

最简单的方法是发送一个广播icmp数据包,看看谁回应,并计算。对于任何具有tcp / ip标准网络库的编程语言,这应该以非常标准的方式实现。