История изменений
Исправление ValdikSS, (текущая версия) :
Такое с обычными TCP-сокетами не получится сделать. Нужно либо использовать RAW-сокеты с userspace tcp-стек, либо, как вариант, перехватывать свои же сокеты RAW-сокетами (не уверен, что так можно, но, вроде, можно), либо перехватывать их через NFQUEUE.
Оба способа требуют root (вернее, CAP_NET_ADMIN).
Исходная версия ValdikSS, :
Такое с обычными TCP-сокетами не получится сделать. Нужно либо использовать RAW-сокеты с userspace tcp-стек, либо, как вариант, перехватывать свои же сокеты RAW-сокетами (не уверен, что так можно, но, вроде, можно), либо перехватывать их через NFQUEUE.