TGViewer
Серверная Админа | Компьютерные сети Серверная Админа | Компьютерные сети @school_network · 26.6K subscribers
Post #2809 3.46K
👋 Привет, сетевой друг!

Сегодня про инструмент Forerunner - библиотеку для разрабов, которая делает из сетевого сканирования готовый набор компонентов для .NET. И это не готовый сканер с интерфейсом, а движок, на базе которого можно собирать свои сетевые утилиты.

🟣Зачем он: когда нужно написать свой IP-сканер, мониторинг доступности или проверку портов, обычно приходится самостоятельно реализовывать потоки, таймауты, обработку ошибок и сбор результатов. Forerunner берёт эту рутину на себя и отдаёт всё в виде готовых объектов.

🟣Как работает: библиотека построена вокруг асинхронного событийного подхода. Вы создаёте Scanner, запускаете проверку IP или диапазона адресов, а результаты приходят через события с прогрессом и итоговыми объектами.

Например, можно просканировать сеть:

Scanner scanner = new Scanner();

IPScanObject result = scanner.Scan("192.168.1.1");


В результате объект содержит:
• IP-адрес
• статус доступности
• время ответа Ping
• hostname
• MAC-адрес
• ошибки при проверке

🟣Что умеет:

IP Scan - проверка одного адреса или диапазона

ScanRange("192.168.1.1", "192.168.1.255")


Port Scan - поиск доступных TCP/UDP портов

IsPortOpen("192.168.1.1", 443)


Ping Monitoring - проверка доступности и средней задержки

GetAveragePingResponse("192.168.1.1", 5, 1000)


Port Knock - массовая проверка портов на хостах

🟣Главная фишка, что всё работает параллельно. Библиотека рассчитана на многопоточность, поэтому можно одновременно проверять сотни адресов без блокировки основного приложения. Например, свой мониторинг можно построить так:
серверы → Forerunner → проверка Ping → проверка портов → отправка результата в панель мониторинга

🟣Пример асинхронного сканирования:

scanner.ScanAsync("10.0.0.1");

scanner.ScanAsyncComplete += (sender, result) =>
{
Console.WriteLine(result.IP);
};


Программа не зависает в ожидании ответа, а получает события по мере завершения проверок.

Серверная Админа | Zeroday | #Инструмент
  • 🔥 6
  • ❤ 2
  • 👍 2
More from @school_network
  1. Oct 1, 2026👋 Привет, сетевой друг! Сегодня про UUCP - протокол и набор утилит, через которые Unix-ма…
  2. Sep 30, 2026👋 Привет, сетевой друг! Давай разберём несколько TCP-флагов и состояний, которые особенно…
  3. Sep 29, 2026👋 Привет, сетевой друг! Сегодня про webcensus - инструмент для довольно специфичной задач…
  4. Sep 28, 2026Почему SAML снова и снова ломается на одном и том же месте? SAML больше 20 лет отвечает за…
  5. Sep 26, 2026👨‍💻Серверная Админа | #мем
  6. Sep 25, 2026👋 Привет, сетевой друг! Сегодня про Ethernet, который мы привыкли воспринимать как обычны…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →