#python #sockets #network-programming #wireless #scapy
#python #сокеты #сетевое программирование #беспроводная #scapy
Вопрос:
Мне было интересно, возможно ли отправлять CTS-фреймы в python3 с помощью таких модулей, как scapy. Если нет, то как бы я это сделал с помощью модуля sockets?
Заранее спасибо.
Ответ №1:
Я не могу сказать за scapy, но кадры CTS и 802.11 в целом кажутся слишком глубокими для модуля python socket
. Это OSI уровня 2, в то время как socket
имеют ограниченные возможности ниже уровня 3 OSI.
Некоторые возможные отправные точки:
-
Вы можете попытаться изменить этот код для обмена данными по Ethernet. Обратите внимание на создание сокета:
socket(AF_PACKET, SOCK_RAW, IPPROTO_RAW))
—AF_PACKET
вместоAF_INET
допускает операции уровня 2. -
Попробуйте использовать
socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL)))
.ETH_P_ALL
означает, что сокет будет получать все пакеты 2-го уровня. Все потому, что на самом деле я не нашел никаких источников, специфичных для 802.11, в ядре Linux. -
Получите драйвер с открытым исходным кодом для вашей беспроводной сетевой карты и посмотрите, как они это делают. Может показаться, что прямое взаимодействие с оборудованием будет более плодотворным, чем попытки найти общий механизм, встроенный в сокеты.
Связанная ветка электронной почты: Правильный способ получения заголовков 802.11 с помощью необработанного сокета?