У меня есть две машины, каждая с двумя действующими сетевыми интерфейсами, интерфейсом Ethernet eth0
и интерфейсом Tun / Tap gr0
. Цель состоит в том, чтобы установить TCP-соединение на машине A с использованием интерфейса gr0
, но затем получить ответы (ACK и т. Д.) От машины B через интерфейс Ethernet eth0
. Таким образом, машина A отправляет SYN на gr0
, а машина B получает SYN самостоятельно gr0
, но затем отправляет свой SYN / ACK обратно через eth0
. Устройство tun / tap является беспроводным каналом GNU Radio, и мы просто хотим, чтобы ответы поступали через Ethernet.
Какой самый простой способ сделать это? Мне нужно больше исследовать TCP / IP, но я изначально думал, что исходящие пакеты с подменой источника скажут получателю ответить на поддельный адрес (который должен быть направлен на eth0
). Это будет включать маршрутизацию IP-адресов от интерфейсов tun / tap через gr0
и оставление другого трафика на eth0
.
Мы используем Linux, и было бы предпочтительным решение на Python.
Спасибо за внимание!