4

Я хотел бы знать, как работают HTTP-туннели. Я попробовал Google, но не нашел то, что искал.

Насколько я знаю, HTTP-прокси похожи на обратные. Вы запрашиваете веб-сайт, HTTP-прокси получает и понимает этот запрос и отправляет его на исходный сервер. Ответ идет с исходного сервера на HTTP-прокси и обратно на ваш компьютер. Кроме прокси SOCKS, который просто туннелирует TCP/IP, прокси HTTP читает HTTP-запрос, верно?

Если это правильно, вот мой вопрос:
Как вы можете туннелировать другие протоколы через HTTP прокси? Например, Мессенджеры предлагают такие настройки прокси и используют свой собственный протокол.

1 ответ1

5

Помимо обычного GET/POST/HEAD/PUT , многие прокси-серверы HTTP понимают дополнительный запрос CONNECT , который устанавливает необработанное TCP-соединение с удаленным хостом. Это требуется для правильной поддержки HTTPS, но часто может использоваться для других протоколов.

 $ 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .