Posso encapsular outro protocolo através de um proxy HTTP?

4

Eu gostaria de saber como os túneis HTTP funcionam. Eu tentei o Google, mas não encontrei o que estava procurando.

Tanto quanto sei, proxies HTTP são como proxies reversos. Você solicita um site, o proxy HTTP obtém e entende essa solicitação e a envia para o servidor original. A resposta vai do servidor original para o proxy HTTP e volta para o seu PC. Diferente do proxy SOCKS que apenas encapsula TCP / IP, um proxy HTTP lê a solicitação HTTP, certo?

Se isso está certo, aqui está a minha pergunta:
Como você pode tunelar outros protocolos através de um proxy HTTP? Por exemplo. Os mensageiros instantâneos oferecem essas configurações de proxy e usam seu próprio protocolo.

    
por Yomanxup 27.06.2011 / 18:47

1 resposta

5

Além dos usuais GET / POST / HEAD / PUT , muitos servidores proxy HTTP entendem uma solicitação CONNECT adicional, que estabelece uma conexão TCP bruta para o remoto hospedeiro. Isso é necessário para suportar adequadamente o HTTPS, mas muitas vezes pode ser usado para outros protocolos.

 $ nc proxy.example.com 8080
-> CONNECT mail.example.com:587 HTTP/1.0
->
<- HTTP/1.0 200 Connection Established
<- Proxy-agent: Apache/2.2.19 (Debian)
<-
<- 220 mail.example.com ESMTP Badger badger badger badger badger postfix postfix!
-> ehlo grawity-pc
<- 250-mail.example.com
<- 250-PIPELINING
<- 250-SIZE 10240000
<- 250-STARTTLS
<- 250-ENHANCEDSTATUSCODES
<- 250-8BITMIME
<- 250 DSN
-> quit
<- 221 2.0.0 Bye
    
por 27.06.2011 / 19:45