C# · 12月 24, 2021

c# – 列出连接到单个LAN的所有计算机的IP地址

我正在写一个程序,由于各种原因连接到LAN中的其他计算机.然而,我想知道是否有办法列出局域网中所有计算机的IP地址,而不是输入多台计算机的IP地址(对屁股的痛苦).我一整天都在研究,至今还没有找到合适的东西.这是因为没有这样的存在吗?
先谢谢你.

编辑:看来,随着这篇文章得到的许多观点,我应该发布我的实际解决方案.一般来说,LAN上的计算机IP地址的命名约定是一样的.例如192.168.2.*,*被任何有效的数字替换.我的程序检测到IP地址,显示给用户,然后询问IP的前3个块.然后,通过ping和等待响应,在给定的IP命名约定中依次扫描最多200个.没有反应,没有电脑.它可以做一切你可以做的一个知识产权,一旦知道它有一台电脑后面.

解决方法 你真的不会找到比同一个子集上的ping或arpinging地址更可靠的东西.在我第一次实习的那一天,我实现了一些软件,最后一次我检查(几年前公平),这就是他们仍然在使用这个功能.我认为这并不意味着他们没有找到更好的东西.

找到这些源代码并将其转换为C#并不难. ping,arping.或者,您只需shell命令提示符并执行ping,然后解析结果.