linux — C ++ (BSD Sockets) — изменить входящие пакеты перед пересылкой:

Я использую систему Linux (на основе Debian), в которой включена переадресация IP (/ proc / sys / net / ipv4 / ip_forward установлен в 1). Я могу читать входящие пакеты, используя программу необработанных сокетов на C ++, но я хочу изменить их содержимое до того, как они будут перенаправлены (только с использованием сокетов BSD). Эта ссылка упоминает, что я могу использовать «правило iptables REDIRECT» для отправки входящих пакетов на порт, который прослушивает моя программа, но я не нашел никакой информации о том, как именно это должно быть сделано. В основном я хочу знать:

  1. Как я должен пересылать пакеты после их изменения. Нужно ли отправлять их вручную из программы на их адрес назначения после их получения и изменения?

  2. Что я должен делать, если программа не прослушивает определенный порт (например, программа связана только с заголовками IP пакетов).

В случае, если имеет значение, прием и пересылка выполняются на одном беспроводном интерфейсе. Я должен пересылать пакеты и получать пакеты от устройств в той же WLAN.

3

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]