用多线程,循环ping某个网关下的IP(0-255)。ping通了就记录下来,C#中有支持ping IP地址的类。给你提供一点代码吧:
string gate = "192.168.10.";//网关
for (int index = 1; index <= 255; index++)
{
IPAddress address = IPAddress.Parse(gate + index.ToString());
Thread thread = new Thread(new ThreadStart(
delegate()//匿名方法
{
Ping ping = new Ping();
PingReply result = ping.Send(address);
if (result.Status == IPStatus.Success)
{
lock (this.lstComputer)//防止2个线程去ping同一个IP,节约时间
{
this.lstComputer.Items.Add(Dns.GetHostEntry(address).HostName + " : " + address.ToString());//ping通的结果保存到ListBox中,即在线的人
}
}
}
));
thread.IsBackground = true;//设为后台线程
thread.Start();//启动线程
}
c#ip扫描代码
最新推荐文章于 2024-03-21 20:35:45 发布
本文介绍了一种使用C#进行多线程IP地址扫描的方法。通过循环遍历指定网关下的所有可能IP(0-255),并利用多线程技术并发发送ping请求来检查每个IP是否可达。如果某个IP响应成功,则将其记录下来。
7350

被折叠的 条评论
为什么被折叠?



