Отправка CTS-фреймов на Python

#python #sockets #network-programming #wireless #scapy

#python #сокеты #сетевое программирование #беспроводная #scapy

Вопрос:

Мне было интересно, возможно ли отправлять CTS-фреймы в python3 с помощью таких модулей, как scapy. Если нет, то как бы я это сделал с помощью модуля sockets?

Заранее спасибо.

Ответ №1:

Я не могу сказать за scapy, но кадры CTS и 802.11 в целом кажутся слишком глубокими для модуля python socket . Это OSI уровня 2, в то время как socket имеют ограниченные возможности ниже уровня 3 OSI.

Некоторые возможные отправные точки:

  1. Люди уже пытались работать с 802.11 через сокеты.

  2. Вы можете попытаться изменить этот код для обмена данными по Ethernet. Обратите внимание на создание сокета: socket(AF_PACKET, SOCK_RAW, IPPROTO_RAW)) AF_PACKET вместо AF_INET допускает операции уровня 2.

  3. Попробуйте использовать socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL))) . ETH_P_ALL означает, что сокет будет получать все пакеты 2-го уровня. Все потому, что на самом деле я не нашел никаких источников, специфичных для 802.11, в ядре Linux.

  4. Получите драйвер с открытым исходным кодом для вашей беспроводной сетевой карты и посмотрите, как они это делают. Может показаться, что прямое взаимодействие с оборудованием будет более плодотворным, чем попытки найти общий механизм, встроенный в сокеты.

Связанная ветка электронной почты: Правильный способ получения заголовков 802.11 с помощью необработанного сокета?