域名扫描工具怎么查找自己网站的漏洞


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


1、微软社区上介绍了使用Active Directory 来遍历局域网
利用DirectoryEntry组件来查看网络
网址:/munITy/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(puter in domain.Children)
{
Console.WriteLine("Computer: "puter.Name);
}
}
}
}


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


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


private void EnumComputers()
{
for (int i = 1; i <= 255; i++)
{
string scanIP = "192.168.0." + i.ToString();

IPAddress myScanIP = IPAddress.Parse(scanIP);

IPHostEntry myScanHost = null;

try
{
myScanHost = Dns.GetHostByAddress(myScanIP);
}

catch
{
continue;
}

if (myScanHost != null)
{
Console.WriteLine(scanIP+"|"+myScanHost.HostName);
}
}
}


效果评价:效率低,速度慢,不是一般的慢。


3、使用System.Net.NetworkInformation.Ping来遍历局域网


private void EnumComputers()
{
try
{
for (int i = 1; i <= 255; i++)
{
Ping myPing;
myPing = new Ping();
myPing.PingCompleted += new PingCompletedEventHandler(_myPing_PingCompleted);

string pingIP = "192.168.0." + i.ToString();
myPing.SendAsync(pingIP, 1000, null);
}
}
catch
{
}
}

PRIVATE void _myPing_PingCompleted(object sender, PingCompletedEventArgs e)
{
if (e.Reply.Status == ess)
{
Console.WriteLine(e.Reply.Address.ToString() + "|" + Dns.GetHostByAddress(IPAddress.Parse(e.Reply.Address.ToString())).HostName);
}

}


效果评价:速度快,效率高,如果只取在线的IP,不取计算机名,速度会更快。
需要注意的是取计算机名称如果用Dns.GetHostByAddress取计算机名称,结果虽然正确,但VS2005会提示该方法已过时,但仍能使用。
如果用它推荐的替代方法Dns.GetHostEntry,则有个别计算机的名称会因超时而获得不到。

怎么查找自己网站的漏洞

安拓榕基:RJ-ITOP 漏洞扫描工具(这个要收费,与MAC地址绑定的。我正在用,效果还不错)
安全漏洞扫描器X-SCAN
用工具远程扫描你的网站域名,扫描工具自动给出结果。