Но с чтением есть одна фигнюшка. TCP — потоковый протокол. Способы разделения сообщений у каждого приложенческого протокола свои, а иногда их и нет вовсе. А для того чтобы подменять сообщения — прокси должна знать, по какому приложенческому протоколу в данный момент передают данные, сепарировать отдельные сообщения, препарировать их и выдавать на другую сторону.