QDISC_BYPASS в Python (необработанные сокеты)

Как мне установить параметры сокета в необработанном сокете, чтобы включить QDISC_BYPASS? Я видел примеры в C, но не мог ясно понять, как реализовать это в Python. Я построил сокет с настройками AF_PACKET и SOCK_RAW.

Я понимаю, что мне нужно использовать метод socket.setsockopt(), но я не уверен, как правильно его вызвать в этом случае.

1 ответ

Решение

Сам разобрался. Вам нужно ядро ​​linux 3.14 или выше, чтобы оно работало

sock.setsockopt(263, 20, 0);

263 (int) является ссылкой на SOL_PACKET

20 (int) является ссылкой на QDISC_BYPASS

Я записал числа на случай, если они не определены в вашем модуле сокетов (т.е. socket.SOL_PACKET не существует)

Другие вопросы по тегам