Я изучаю проблему TCP через TCP. В частности, ситуация, когда TCP-соединение помещается в TCP-туннель (Tor, HTTP-туннель, WebSocket-туннель), поскольку UDP-туннель не может использоваться (DPI блокирует VPN).
Я думал, что приложение, трафик которого c, Обычно туннелирование не требует TCP с гарантированной доставкой (и замедлением), потому что туннель уже решает проблемы с сетью. Единственное, что требуется приложению - это транспорт, который устанавливает соединение, поэтому оно использует сокет TCP.
Я решил реализовать программное обеспечение, которое находится по обе стороны туннеля и перехватывает пакеты TCP на интерфейсе туннельной сети (например, tun0
), предотвращает их отправку, упаковывает их в UDP и отправляет его экземпляру на другой стороне.
Как я могу перехватить пакеты? Я посмотрел на iptables и libpcap , но не могу найти решение.