🟢 зелёный — хост отвечает,
🔴 красный — хост недоступен.
- Code: Select all
using System;
using System.Net.NetworkInformation;
using System.Threading;
class Program
{
static void Main()
{
// Список хостов для мониторинга
string[] hosts = {
"192.168.0.1", // роутер
"192.168.0.10", // сервер
"google.com" // внешний тест
};
Console.WriteLine("Мониторинг хостов (Ping)...");
Console.WriteLine("Нажмите Ctrl+C для выхода.\n");
while (true)
{
foreach (string host in hosts)
{
Ping ping = new Ping();
try
{
PingReply reply = ping.Send(host, 1000); // таймаут 1 сек
if (reply.Status == IPStatus.Success)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine($"{host,-20} OK ({reply.RoundtripTime} ms)");
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine($"{host,-20} Нет ответа");
}
}
catch
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine($"{host,-20} Ошибка");
}
finally
{
Console.ResetColor();
}
}
Console.WriteLine(new string('-', 40));
Thread.Sleep(3000); // задержка между проверками
}
}
}

