The responses do not have to come from the destinations. Consider, if you will, a UDP-based bit-torrent service: you send a datagram to one particular node, saying "gimme this file." That node then broadcasts that around. You then start getting datagrams from thousands of different nodes, none of which you'd actually sent a message to in the first place. That is only possible if the application did not use connect().
If, however, the application did use connect()... then it should only get responses from that particular node.
How is the transparent proxy supposed to be able to tell what the application is expecting?
Topic:
App & System Services
SubTopic:
Networking
Tags: