vektor555 0 Posted January 21, 2017 Report Share Posted January 21, 2017 Добрый день! Имеется приложение в котором создается пакетный сокет: pack_sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); Данным сокетом с канального уровня сетевого стека вычитываются все входящие/выходящие пакеты. Однако, получается что пакетный сокет не удаляет пакет с канального уровня, а только копирует его, после чего пакет передается выше по сетевому стеку/в драйвер для передачи в сеть. То есть, если в дополнение к пакетному сокету открыть и присоединить к нужному ip и порту, скажем, udp сокет, то данным сокетом можно повторно вычитать данные (с удаленными ethernet, ip и udp заголовками), уже полученные пакетным сокетом. Вопрос: можно ли каким либо образом (выставлением флагов, модификацией стека) предотвратить передачу ВХОДЯЩИХ пакетов, вычитанных пакетным сокетом, выше по сетевому стеку? Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.