vektor555

Members
  • Публикации

    1
  • Зарегистрирован

  • Посещение

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