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

Вид: 499|Ответ: 0

[Источник] .NET/C# использует WinDivert для захвата пакетов и изменения пакетов в Windows

[Скопировать ссылку]
Опубликовано 26.09.2025 10:53:00 | | | |
Требования: TCP-пакеты должны быть захвачены в Windows и могут изменять пакеты, аналогично атакам «человек посередине» в сетевой безопасности.

Обзор:
.net написан компанией SharpPcap, инструментом захвата пакетов
https://www.itsvse.com/thread-2914-1-1.html

.NET Core в процессе захвата трафика на Linux
https://www.itsvse.com/thread-9524-1-1.html

WinDivert: Windows Packet Divert

Windows Packet Divert (WinDivert) — это пакет для захвата и передачи пакетов в пользовательском режиме для Windows 10, Windows 11 и Windows Server.

Официальный сайт:Вход по гиперссылке виден.

WinDivert позволяет приложениям пользовательского режима захватывать/изменять/сбрасывать сетевые пакеты, отправляемые в сетевой стек Windows/из него. В итоге, WinDivert может:

  • Захват сетевых пакетов
  • Фильтруйте/сбрасывайте сетевые пакеты
  • Перехватывание сетевых пакетов
  • (пере)инъекция сетевых пакетов
  • Модификация сетевых пакетов


WinDivert может использоваться для реализации пользовательских фильтров пакетов, снифферов пакетов, межсетевых экранов, NAT, VPN, туннелирования приложений и многого другого.

Ключевые особенности WinDivert включают:

  • Перехват пакетов, прослушивания или сброс шаблонов
  • Поддерживает loopback (локальный хост) трафик
  • Полная поддержка IPv6
  • Сетевой уровень
  • Простой, но мощный API
  • Продвинутый язык фильтрации
  • Приоритет фильтра
  • Бесшумная установка
  • Она предоставляется бесплатно на условиях GNU Broad General Public License (LGPL).


Build httpbin

httpbin(1): HTTP-сервис запроса и ответов, создание http-сервиса, изменение запрошенного содержимого пакета через WinDivert, вы интуитивно видите, что пакет был изменён через содержимое ответа, и сервер получает содержимое пакета, перехваченный и изменённый посредником.

Источник:Вход по гиперссылке виден.

Команда Docker build httpbin выглядит следующим образом:
Как показано ниже:



.NET-консоль

Сначала создаём новое консольное приложение .NET 8, и ссылка nuget выглядит следующим образом:
Код таков:

Перед блокировкой и изменением базы данных, как показано на следующем рисунке:



Начните перехват и модификацию пакета, как показано на следующем рисунке:



(Конец)




Предыдущий:Git синхронизирует основной код ветки репозитория с веткой приватного репозитория
Следующий:Discuz optimizes loading home.php?mod=misc&ac=sendmail&rand=1759095001
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com