列举局域网内的所有计算机的问题,看起来简单,做起来困难。
我想要做一个列举局域网内所有计算机的程序。
思路1,列举工作组。
结果:可以找到所有安装了文件和打印共享的计算机,没有安装的找不到。
思路2:ping 本IP段内的计算机。比如192.168.0.xxx
结果:本IP段内的计算机可以列举出,但是其他IP段内的计算机无法找到。
而且安装了防火墙的计算机找不到,不过听说使用UDP包进行查询会绕开防火墙。
思路3:嗅探网络包的传送。
结果:在集线器的网络环境下可以找到所有网络内的计算机。但是在交换机的网络环境下,找不到所有计算机,只能侦听到和本机处于一个交换机上的机器。
我想要问,有没有一个方法,无论在任何情况下,都可以列举出局域网内所有的所有的计算机。(我要的是所有的计算机)
要求是:只要他安装了TCP/IP协议就可以找到他。
并且,我不一定是在网关服务器上。
也就是说,我在任何一台局域网内的机器上都可以知道现在局域网内有多少台机器在运行,他们的IP地址都是什么。
希望高手给予解答,这个问题我思考了很久,还是没有找到完满的解决方法。
解答完满的话,给分不是问题。要多少分都给。