Есть ли способ отключить управление состоянием TCP ОС, например, на определенном порту или на другом IP-адресе, а если нет, отключить все управление TCP и управлять им в приложении с корневым доступом?
Мне нужно решение на базе linux / mac, но также могут помочь решения на базе Windows.
Я хочу создать специальный прокси, на самом деле ретранслятор отправки, который манипулирует пакетом перед его доставкой в пункт назначения таким образом, чтобы исходный отправитель получил ответ напрямую. Отправить легко, но ОС конечного получателя отклоняет пакет и завершает полусоединение.
Я не могу сказать, что из этого вы пытаетесь выполнить:
Вы хотите перехватить трафик, прежде чем он будет передан приложению, которому принадлежит сокет?
Добавьте соответствующие правила в таблицы брандмауэра, отправляющие пакет в цель ULOG, и таким образом обработайте его в коде пользовательского пространства. Посмотрите на iptables
manpage и найдите подробности по ULOG.
Вы хотите отправлять созданные пакеты в сети с параметрами ручной обработки, такими как исходный MAC / IP / что угодно?
Для этого вам нужны права root, и вы можете сделать это с помощью сырого сокета. Python чешуйчатый это простой способ сделать это.