манипулирование пакетами (удаление и изменение)

1

Я пишу простую программу сетевой безопасности на С#. Для захвата трафика в сети я буду использовать библиотеку sharppcap, которая может захватывать все пакеты и отображать их данные в пользовательском интерфейсе. Тем не менее, я не могу найти какие-либо методы в библиотеке, которые могут быть использованы для удаления любых пакетов, подверженных их содержимому порта, источника, адресата или данных. Поддерживает ли Sharppcap такую функцию? Если нет, будет ли какая-нибудь библиотека, которую я могу использовать?

  • 0
    Вы запускаете это внутри коммутатора или что-то? Я не могу себе представить. NET является ответом на это.
  • 0
    Кроме того, если нет, и вы просто нюхаете, это не так, как работает сеть, поэтому я не уверен, что вы действительно понимаете свои требования / среду
Теги:
sharppcap

1 ответ

2
Лучший ответ

Библиотека sharppcap просто предоставляет общий API для перехвата пакетов и передачи. В Windows вы, вероятно, будете использовать WinPcap с sharppcap. В Windows вы не можете проверять и изменять пакеты без написания специального типа драйвера для платформы фильтрации пакетов Windows. Это также означает, что вам нужно будет использовать C++ или C.

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

Короткий ответ: no sharppcap не поддерживает это, и вам нужно будет сделать свой собственный драйвер. Если вы можете отойти от Windows, вы можете настроить выделенный аппаратный брандмауэр с помощью специального перехватчика, написанного на C, в течение одного дня, если вы пойдете с дистрибутивом Linux, таким как Debian или Arch Linux.

Если вы решите придерживаться Windows, вы также столкнетесь с неприятным сюрпризом в моменты, когда ваша нагрузка составляет около 50% от возможностей сетевой карты. Windows перестанет пересылать в стек сетевой фильтрации при значительной нагрузке, чтобы повысить производительность. Я заметил, что на гигабитной сетевой карте размером около 200 Мбит/с WinPcap не видел даже 5% всех пакетов. Чтобы проверить это, я использовал специальное устройство захвата, которое находилось между переключателем и тестируемой машиной. Устройство захвата может захватывать с линейной скоростью, а удаленный компьютер также может работать, но стек сетевой фильтрации в Windows этого не делает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню