用c#编写局域网扫描工具

来源:百度知道 编辑:UC知道 时间:2024/05/29 17:43:56
怎样用c#编写局域网ip扫描工具,原理思路是什么!怎样判断在线的计算机是c#自带的方法,还是自己定义的方法。如果有代码的可以发代码。思路说一下哦!谢谢了!

1、微软社区上介绍了使用Active Directory 来遍历局域网
利用DirectoryEntry组件来查看网络
网址:http://www.microsoft.com/china/communITy/program/originalarticles/techdoc/DirectoryEntry.mspx

private void EnumComputers()
{
using(DirectoryEntry root = new DirectoryEntry("WinNT:"))
{
foreach(DirectoryEntry domain in root.Children)
{
Console.WriteLine("Domain | WorkGroup: "+domain.Name);
foreach(DirectoryEntry computer in domain.Children)
{
Console.WriteLine("Computer: "+computer.Name);
}
}
}
}

效果评价:速度慢,效率低,还有一个无效结果 Computer: Schema 使用的过程中注意虑掉。

2、利用Dns.GetHostByAddress和IPHostEntry遍历局域网

private void EnumComputers()
{
for (int i = 1; i <= 255; i++)
{
string