“代理服务器”如何工作

时间:2015-02-04 13:43:01

标签: java sockets proxy

我正在尝试实现一个简单的ProxyServer来分析连接设备和外部世界之间的流量。

  • iPhone(例如)配置为使用192.168.1.10:8080的代理。
  • 我的代理服务器(在192.168.1.10上)将侦听端口8080。
  • iPhone尝试连接到http://google.com:80,或者ftp://somehost.com:21/它向代理服务器(端口8080)发送请求,代理服务器应该在端口80与google.com联系,在21之后与somehost联系

所以我认为它会是这样的:

    //Accept incoming 
    ServerSocket serverSocket = new ServerSocket(8080);
    Socket socket = serverSocket.accept();
    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

    //Log incoming requests

    //Send to remote server on behalf of my device
    Socket remote = new Socket(remoteHost, remotePort);
    //forward the same data to remote client..

    //wait for the reply

    //send to my device

如何知道将请求转发到的远程端口/主机?

我错过了什么?

谢谢

enter image description here

0 个答案:

没有答案