0

I already checked Fiddler - tunnelled http requests to port 443 and Fiddler2: Decrypt HTTPS traffic and Tunnel to host:443, but my question is different.

I do not want to use Fiddler as a Proxy for another program. Instead, I simply want to use Fiddler's Composer Tab to send a HTTPS request over an upstream proxy. My proxy configuration and authorization is correct; sending HTTP requests works just fine.

When I use Fiddler's Composer to send an HTTPS GET to https://google.com, it results in a time-out (HTTP 502 / [Fiddler] The connection to 'google.com' failed. Error: TimedOut (0x274c).).

When I send an HTTPS CONNECT to https://google.com, I get HTTP 502 / [Fiddler] DNS Lookup for failed.
Does anybody know how I can establish an HTTPS tunnel over my proxy and then send a GET request?

Community
  • 1
  • 1

1 Answers1

0

to establish the tunnel, you must use CONNECT to the proxy. You must also include the host header, which doubles the destination in the CONNECT request... e.g.

CONNECT www.google.com:443 HTTP/1.1
Host: www.google.com
etc

Once the tunnel is up (e.g. you get a 200 OK from the proxy) you need to go into TLS handshake before you can send the http request (which since it's over TLS is now https). e.g.

GET / HTTP/1.1
Host: www.google.com
etc.
Adrien
  • 1,061
  • 8
  • 11
  • Thank you very much for your answer. Unfortunately, my proxy never answers 200 OK, but always 502. Anyway, I am using cURL now, which works as expected. – Christoph Albert Aug 24 '16 at 06:44
  • Yes, it's telling you it doesn't like something about your request. there are minimum requirements for any http request, including CONNECT, such as a valid Host header. If you didn't have it in there, it would fail, and I could easily see it failing to resolve an empty name giving as you said "DNS lookup for failed" – Adrien Aug 24 '16 at 10:08