我正在为我的大学做家庭作业。 任务是使用nc(netcat)在HTTPS上获取网页。
要通过HTTP获取页面,我这样做:
cat request.txt | nc -w 5 <someserver> 80
在request.txt中,我有HTTP 1.1请求
GET / HTTP/1.1 Host: <someserver>
现在…这工作正常。 我如何获取使用HTTPS的网页?
我得到这样的页面证书。 这就是我被卡住的地步
openssl s_client -connect <someserver>:443
nc不做https。 openssl s_client尽可能接近你会得到的。 做这样的事情:
$ cat request.txt | openssl s_client -connect server:443
来自nmap包的ncat --ssl对我来说工作的很好:
sudo apt-get install nmap printf 'GET / HTTP/1.1\r\nHost: github.com\r\n\r\n' | ncat --ssl github.com 443
超级用户相同: https : //superuser.com/questions/346958/can-the-telnet-or-netcat-clients-communicate-over-ssl
你可能想要使用stunnel。
GNU程序,允许encryption安全套接字层(SSL)内的任意TCP连接。
这是非常UNIX-Y。 一个简单的任务的一个伟大的工具。
请教授或助教。 在现实世界中,你绝对不会试图通过netcat来实现HTTPS( openssl s_client将是我select的第一线工具,但还有其他select),以便find教授想要的“正确”答案的机会现实世界是低的。 我可能会翻阅讲座的所有幻灯片/笔记; 通常这些“不可能”的问题实际上是在讲座中回答的,只是要问在课堂上真正关注的是谁。