From 2ce555de6ce149bc8fc0fc21e7e7aaa579da1b73 Mon Sep 17 00:00:00 2001 From: SwEdryG Date: Wed, 10 Jun 2026 23:23:07 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20SubnetScanner/IsHostAlive.cs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SubnetScanner/IsHostAlive.cs | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 SubnetScanner/IsHostAlive.cs diff --git a/SubnetScanner/IsHostAlive.cs b/SubnetScanner/IsHostAlive.cs new file mode 100644 index 0000000..333799d --- /dev/null +++ b/SubnetScanner/IsHostAlive.cs @@ -0,0 +1,43 @@ +using System.Net.NetworkInformation; + +namespace IP_port_checker.SubnetScanner +{ + public class IsHostAlive + { + private static bool HostAliveCheck(string ip) + { + try + { + using (Ping ping = new Ping()) + { + PingReply pingReply = ping.Send(ip, 1000); + return pingReply.Status == IPStatus.Success; + } + } + catch + { + return false; + } + } + public static void ParralelScan(string network) + { + var tasks = new List(); + int alive = 0; + + for (int i = 0; i < 254; i++) + { + string ip = $"{network}.{i}"; + tasks.Add(Task.Run(() => + { + if (HostAliveCheck(ip)) + { + Console.WriteLine($"Хост {ip} - в сети"); + alive++; + } + })); + } + Task.WaitAll(tasks.ToArray()); + Console.WriteLine($"Устройств в сети: {alive}"); + } + } +}