如何枚举本地网络中远程计算机的所有计算机名称和IP?
注意:不在Windows上(如何通过谷歌找到),我需要一些适用于Linux的东西!
或者C / C ++示例也会这样做,我可以从C#调用libc。
答案 0 :(得分:1)
您可以运行smbtree以确保安装了samba。
运行smbtree,它将显示网络上的所有域名,计算机和公共共享。在文件中写入此详细信息并使用此文件获取所需信息
查看smbtree的输出
PEGASUS
W2000
,WINXP
是域名
RHEL4B
,HM2003
,RHEL4B\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标准网络库的编程语言,这应该以非常标准的方式实现。