Пересылка пакетов из NI C в WiFi с использованием необработанных сокетов в пространстве ядра - PullRequest
0 голосов
/ 26 марта 2020

Для проекта у меня есть 2 ноутбука с 2 беспроводными интерфейсами (wlan0 и wlan1) и один NI C, назовем ноутбуки Отправителем и Получателем. Я хотел бы отправить нечетные пакеты, которые поступают в Sender через его интерфейс Ethe rnet через wlan0, и даже пакеты через wlan1 на ноутбук Receiver. Я хочу сделать это любыми средствами, которые позволяют мне проверять каждый пакет по коду, чтобы я мог изменить что угодно, или изменить политику отправки, и я хочу сделать это в пространстве ядра, потому что для этой конкретной задачи очень важна низкая задержка.

При условии, что все интерфейсы настроены правильно (wlan0 от Sender, подключенного к wlan0 из Receiver и то же самое для wlan1), Raw Sockets будет самым быстрым выбором?

Есть ли какой-нибудь "простой" способ изменить заголовки 802.3 на заголовки 802.11?

Шаги, которые я собираюсь попробовать, примерно таковы:

  1. Открытие получающего необработанного сокета и отправка необработанного сокета
  2. Получение Ethe rnet пакет и извлечение верхних уровней
  3. Инкапсуляция его с заголовками 802.11
  4. Отправка измененного пакета через Raw Socket

Единственный шаг, которым я являюсь 3-й вопрос не ясен, я был бы признателен за любую помощь в этом отношении.

...