Перейти к содержанию

пакетный сокет


Рекомендуемые сообщения

Добрый день!
Имеется приложение в котором создается пакетный сокет:

pack_sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));

Данным сокетом с канального уровня сетевого стека вычитываются все входящие/выходящие пакеты. Однако, получается что пакетный сокет не удаляет пакет с канального уровня, а только копирует его, после чего пакет передается выше по сетевому стеку/в драйвер для передачи в сеть. 
То есть, если в дополнение к пакетному сокету открыть и присоединить к нужному ip и порту, скажем, udp сокет, то данным сокетом можно повторно вычитать данные  (с удаленными ethernet, ip и udp заголовками), уже полученные пакетным сокетом.
Вопрос: можно ли каким либо образом (выставлением флагов, модификацией стека) предотвратить передачу ВХОДЯЩИХ пакетов, вычитанных пакетным сокетом, выше по сетевому стеку?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...