C#扫描不同网段的IP设备
时间: 2023-10-15 21:07:13 浏览: 125
要扫描不同网段的 IP 设备,可以使用 C# 中的 `Ping` 类和 `IPAddress` 类。以下是一个简单的示例代码:
```csharp
using System;
using System.Net;
using System.Net.NetworkInformation;
class Program
{
static void Main(string[] args)
{
string baseIP = "192.168.1.";
for (int i = 1; i <= 255; i++)
{
string ip = baseIP + i.ToString();
Ping ping = new Ping();
ping.PingCompleted += PingCompletedCallback;
ping.SendAsync(ip, 1000, ip);
}
Console.ReadLine();
}
static void PingCompletedCallback(object sender, PingCompletedEventArgs e)
{
if (e.Reply != null && e.Reply.Status == IPStatus.Success)
{
Console.WriteLine(e.UserState + " is online.");
}
else
{
Console.WriteLine(e.UserState + " is offline.");
}
}
}
```
上面的代码将扫描 `192.168.1.1` 到 `192.168.1.255` 的 IP 地址,如果某个 IP 能够成功响应 Ping 请求,就会输出该 IP 地址在线,否则输出离线。注意,Ping 操作可能会被防火墙屏蔽,因此可能会出现一些误报或漏报。
阅读全文