我有一个有趣的要求,要使用openssl s_client
通过https
隧道连接到https
网站。
我已经设法通过这个代理(proxy_host.com
(连接到target_host.com
上的netcat侦听器,并从中发送一条消息,该消息将正确中继到openssl客户端。
然而,当我尝试发送GET / HTTP/1.1
和两个enter
时,没有发送任何内容(或者没有任何内容到达target_host.
以下是我目前正在使用的内容:
echo "CONNECT target_host.com:443 HTTP/1.1rnHost:proxy_host.comrnConnection: Keep-Alivernrn" | openssl s_client -ign_eof -connect proxy_host.com:443
我只得到:
HTTP/1.0 200
Connection Established
Proxy-agent: Apache/2.2.15 (Red Hat)
我必须添加主机头,因为这是我的代理的要求。最终,我想向Web服务器发送一个GET请求,但我正在使用nc来查看进展情况。
这实际上比我想象的使用curl更容易,如下所示:
curl --proxy-insecure --proxy proxy_host.com:443 --proxy-header "Host: proxy_host.com" -k https://target_host.com:443