Kann ich ein anderes Protokoll über einen HTTP-Proxy tunneln?

3181
Yomanxup

Ich würde gerne wissen, wie HTTP-Tunnel funktionieren. Ich habe Google ausprobiert, aber nicht gefunden, wonach ich gesucht habe.

Soweit ich weiß, sind HTTP-Proxys wie Reverse-Proxys. Sie fordern eine Website an, der HTTP-Proxy ruft diese Anfrage ab und sendet sie an den ursprünglichen Server. Die Antwort geht vom ursprünglichen Server zum HTTP-Proxy und zurück zu Ihrem PC. Anders als der SOCKS-Proxy, der nur TCP / IP tunnelt, liest ein HTTP-Proxy die HTTP-Anfrage, oder?

Wenn das richtig ist, hier meine Frage:
Wie können Sie andere Protokolle über einen HTTP-Proxy tunneln? Instant Messenger bieten beispielsweise solche Proxy-Einstellungen und verwenden ihr eigenes Protokoll.

4

1 Antwort auf die Frage

5
grawity

Neben dem üblichen GET/ POST/ HEAD/ PUTverstehen viele HTTP-Proxy-Server eine zusätzliche CONNECTAnforderung, die eine rohe TCP-Verbindung zum Remote-Host herstellt. Dies ist erforderlich, um HTTPS ordnungsgemäß zu unterstützen, kann jedoch häufig für andere Protokolle verwendet werden.

 $ 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