Think of the following services on one box:
SOCKS proxy
HTTP proxy
SSH service
VPN service
I have found a case where it would be beneficial to run all of these services on the same box (save on high server costs w/ low usage), but they all need to listen on port 80 (network security restrictions require it).
I'm a proficient java developer. What I am brainstorming is whether it's realistic to consider a simple java app listening on port 80, determining which service a new connection is bound for, and then redirecting traffic from that connection to a local port where the service is listening.
Is there something in the initial packets after the connection that I would be able to queue off of to determine the appropriate service?
Creative thoughts are most welcome.