C#扫描多个网段的IP设备
时间: 2023-10-23 09:25:29 浏览: 123
你可以使用C#中的网络编程类库来扫描多个网段的IP设备。以下是一个示例程序,它可以扫描指定的IP地址范围内的设备,并且可以设置多个网段:
```csharp
using System;
using System.Net;
using System.Net.NetworkInformation;
namespace ScanIPDevices
{
class Program
{
static void Main(string[] args)
{
// 设置要扫描的 IP 地址范围
string[] ips = { "192.168.1.", "192.168.2.", "192.168.3." };
// 遍历 IP 地址范围
foreach (string ip in ips)
{
// 遍历每个 IP 地址
for (int i = 1; i <= 255; i++)
{
try
{
// 构造 IP 地址
string host = ip + i.ToString();
IPAddress ipAddress = IPAddress.Parse(host);
// 发送 ping 命令
Ping ping = new Ping();
PingReply reply = ping.Send(ipAddress, 1000);
// 判断是否能够 ping 通
if (reply != null && reply.Status == IPStatus.Success)
{
Console.WriteLine("发现设备:{0}", host);
}
}
catch (Exception ex)
{
// 发生异常:忽略
}
}
}
Console.WriteLine("扫描完成。");
Console.ReadLine();
}
}
}
```
该程序会扫描三个网段:192.168.1.x、192.168.2.x、192.168.3.x,分别从1到255进行遍历,对每个 IP 地址发送 ping 命令,判断是否能够 ping 通,如果能够 ping 通,则表示该 IP 地址上有设备。
阅读全文