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 не существует)