Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите c# делаю консоль нужно находить все ip адреса в локальной сети

Никита Селетков Знаток (426), открыт 3 недели назад
нужно сделать чтобы проверяло все возможные адреса

public static void iphack()
{
//List<string> addressBase = new List<string>(){/*, "192.168.98.", "192.168.198."*/};
string addressBase = "192.168.0.";
int startAddress = 1; // Начало диапазона сканирования адресов
int endAddress = 255; // Окончание диапазона сканирования адресов

List<IPAddress> detectedAddresses = new List<IPAddress>();
Ping ping = new Ping();

// Сканируем последовательно адресов на доступность
for (int addressPart = startAddress; addressPart <= endAddress; addressPart++)
{
string currentAddressAsString = $"{addressBase}{addressPart}";
IPAddress currentAddress = IPAddress.Parse(currentAddressAsString);

// Отправляем ICMP-запрос с таймаутом в 1 секунду
var pingResult = ping.Send(currentAddress, 1);
Console.WriteLine($"[{ DateTime.Now }] {currentAddress}: {pingResult.Status}");

if (pingResult.Status == IPStatus.Success)
{
detectedAddresses.Add(currentAddress);
}
}

// Выводим результат сканирования в виде списка доступных узлов
Console.WriteLine();
if (detectedAddresses.Count == 0)
{
Console.WriteLine("Не найдено активных устройств.");
}
else
{
Console.WriteLine("Найдены устройства на следующих адресах:");
foreach (var detectedAddress in detectedAddresses)
{
// Пытаемся определить имя хоста по его адресу
string hostName;
try
{
hostName = Dns.GetHostEntry(detectedAddress)?.HostName ?? "<Неизвестно>";
}
catch
{
hostName = "<Неизвестно>";
}

Console.WriteLine("- {0}: {1}", detectedAddress, hostName);
}
}
Console.WriteLine();


}
0 ответов
Похожие вопросы