问候,
我需要一种方法(通过C#或.bat文件)来获取给定网络上所有计算机的列表.通常情况下,我使用"网络视图",但这往往只在您的域中起作用(根据我的理解).我需要网络上所有可用计算机的名称(或至少IP地址).
能够获得不属于我的域的所有计算机(在这种情况下我使用WORKGROUP,或者默认的是什么)也可以.
Nmap对此有好处 - 使用-O选项进行操作系统指纹识别,使用-oX"filename.xml" 输出为xml,然后可以从c#中解析.
一个合适的命令行是(其中192.168.0.0/24是要扫描的子网):
nmap -O -oX "filename.xml" 192.168.0.0/24
如果您对猜测操作系统不感兴趣,请忽略-O - 如果您只是想使用-sP进行ping扫描,或者阅读无数其他选项的文档.