我正在编写一个程序,您可以将各种原因连接到局域网中的其他计算机。但是,我不知道是否有办法列出局域网中所有计算机的IP地址,而不必输入多台计算机的IP地址(对接困难)。我整天都在研究,至今还没有找到合适的东西。这是因为没有这种存在? 预先感谢您。列出连接到单个局域网的所有计算机的IP地址
编辑:看来,这篇文章越来越多,我应该发布我的实际解决方案。一般来说,LAN上计算机IP地址的命名约定是相同的。例如是192.168.2。*,*被替换为任何有效的数字。我的程序检测到IP地址,将其显示给用户,然后询问前3个IP块。然后,它通过Ping并等待响应,在给定的IP命名约定中顺序扫描多达200个。没有回应,没有电脑。只要知道IP后面有一台计算机,它就可以做一切你可以用IP做的事情。
您可以获取子网,并遍历可用地址以ping通它们。但这对那些刚关闭的人来说无济于事。如果你有访问权限,你可以看看DHCP租约文件 – 2010-01-03 03:45:12
ARPing,正如Jason所描述的那样,是唯一的跨平台和防火墙防御解决方案。如果您仅限于Windows boxen,BlueRaja的WNetEnumResource()方法是合理的。扫描/ nmap方法具有太多基于主机的防火墙。没有神奇的子弹/ API调用。 iphelper API的SendARP()可能是您最好的选择:http://msdn.microsoft.com/en-us/library/aa366358%28VS.85%29.aspx – 2010-01-03 03:59:11
为什么不是254? (在较大的子网中为255) – Deanna 2012-07-24 13:40:03