Como um proxy sabe para onde encaminhar as solicitações?

2

Quando um proxy recebe uma conexão, como o proxy sabe para onde encaminhar a solicitação?
Por exemplo, em Java , podemos definir uma propriedade do sistema para o proxy.
Portanto, definimos IP do proxy e a solicitação é enviada ao proxy, mas como um proxy sabe para onde encaminhar a solicitação real?

    
por Jim 20.07.2013 / 22:35

1 resposta

5

Existem vários tipos de proxies, e cada um usa uma abordagem diferente para comunicar ao servidor proxy o que ele deseja fazer.

Os proxies HTTP entendem somente HTTP, e não tentam pacotes proxy, mas sim comandos HTTP como connect, get, post, etc. Eles criam um pacote totalmente novo endereçado nas camadas inferiores de si para o servidor de destino. Quando um cliente inicia uma conexão, o primeiro pacote do fluxo http contém o verbo CONNECT. o proxy recebe, faz um dns de pesquisa, se necessário, e constrói um pacote para enviar ao servidor remoto usando os comandos http e o fluxo de dados dos pacotes que recebe do cliente.

Os proxies SOCKS realizam o tunelamento acima da camada de sessão, de modo que o cliente configura um cabeçalho de camada 5 que informa ao proxy onde você deseja se conectar, transporta informações de protocolo e transmite qualquer autenticação requerida pelo proxy. O cliente coloca os datagramas da Camada 6/7 na região de dados do segmento da camada 5 e os envia ao proxy. o proxy o recebe, cria um novo pacote (sem um cabeçalho SOCKS) endereçado ao servidor remoto, coloca as unidades de dados da camada 6/7 do pacote do cliente no novo pacote e as envia para o servidor de destino. Os proxies SOCKS não funcionam para todos os protocolos da camada superior, mas eles fazem proxy para a maioria dos protocolos de camada inferior, incluindo tcp e udp.

    
por 21.07.2013 / 01:38