Como faço para descobrir o tipo de servidor proxy http que estou tunelando?

2

Seguindo as instruções on-line padrão, eu configurei um túnel ssh em casa usando o putty para acessar páginas da web privadas acessíveis somente na minha rede de trabalho. Felizmente, isso só funcionou; quando eu fiz ssh em uma máquina em nossa rede privada com as opções de tunelamento definidas em putty e configurei meu navegador para usar a porta correspondente em localhost, eu poderia acessar páginas da web em nossa rede privada.

Estou curioso para saber como isso funciona normalmente no lado do servidor. Alguém já configurou um servidor proxy além do servidor ssh? A pergunta a seguir parece sugerir que isso é desnecessário, e que o servidor ssh já suporta solicitações de proxy http: Preciso ter um servidor proxy para ter HTTP sobre SSH?

Como posso investigar por conta própria para ver qual servidor proxy http meu tráfego está passando?

    
por jonderry 11.06.2011 / 08:25

1 resposta

2

O protocolo SSHv2 inclui funcionalidade para solicitar que o servidor estabeleça uma conexão TCP e retransmita dados entre os cliente (você) e o host remoto fornecido, sobre sua conexão SSH. Tudo o que importa é o fluxo TCP bruto.

Seu cliente SSH (isto é, PuTTY ou OpenSSH) é capaz de usar essa funcionalidade de várias maneiras: além do host remoto configurado estaticamente: port ("encaminhamento local" ou "encaminhamento remoto") o cliente também pode atuar como um servidor SOCKS 5 , permitindo que outros programas (como o Firefox) especifiquem onde se conectar.

Para o navegador, seu programa SSH se parece com um servidor proxy SOCKS comum. (O servidor SSH ao qual você está se conectando não sabe tudo isso - ele apenas atua nas solicitações "abrir uma conexão TCP para google.com:80" . Nenhum servidor proxy adicional está envolvido, .)

  • navegador da web ↔ (SOCKS 5) ↔ cliente SSH ↔ (SSH) ↔ servidor SSH ↔ (TCP) ↔ servidor web

Observe que o protocolo de proxy usado é o SOCKS, não o HTTP. Em outras palavras, o cliente SSH não se importa com solicitações HTTP - ele funciona em um nível inferior, transmitindo conexões TCP brutas. Isso também significa que qualquer qualquer protocolo usando TCP pode ser encapsulado dessa maneira, incluindo email, HTTP / SSL e o próprio SSH.

    
por 11.06.2011 / 09:00