Изменить входящие пакеты перед пересылкой в Linux
Я использую систему Linux (на основе Debian), в которой включена переадресация IP (/proc/sys/net/ipv4/ip_forward установлен в 1). Я могу читать входящие пакеты с помощью программы необработанных сокетов, но я хочу изменить их содержимое до того, как они будут перенаправлены. Эта ссылка упоминает, что я могу использовать iptables REDIRECT rule
для отправки входящих пакетов в порт, который прослушивает моя программа, но я не нашел никакой информации о том, как именно это должно быть сделано. В основном я хочу знать:
Как я должен пересылать пакеты после их изменения. Нужно ли отправлять их вручную из программы на их адрес назначения после их получения и изменения?
Что я должен делать в случае, если программа не прослушивает определенный порт (например, программа связана только с заголовками IP пакетов).
В случае, если получение и пересылка имеют значение на одном и том же интерфейсе (wlan0). Я должен пересылать пакеты и получать пакеты от устройств в той же WLAN.