netcat (nc)를 사용하여 HTTPS에 연결 [닫기] nc -w 5 <someserver>

저는 대학에서 숙제를하고 있습니다. 작업은 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


답변

nchttps를하지 않습니다. openssl s_client당신이 얻을만큼 가까이. 다음과 같이하십시오 :

$ cat request.txt | openssl s_client -connect server:443

답변

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

우분투 18.04에서 테스트되었습니다.


답변

stunnel을 사용하고 싶을 것입니다.

SSL (Secure Sockets Layer) 내에서 임의의 TCP 연결을 암호화 할 수있는 GNU 프로그램입니다.

http://www.stunnel.org

매우 유닉스입니다. 하나의 간단한 작업을위한 훌륭한 도구입니다.


답변

전문가 또는 TA에게 도움을 요청하십시오. 실제 세계에서는 netcat를 통해 HTTPS를 시도하지 openssl s_client않을 것 입니다 ( 내가 선택한 첫 번째 도구이지만 다른 옵션이 있습니다). 세계는 낮습니다. 강의의 모든 슬라이드 / 노트를 살펴볼 것입니다. 일반적으로 이러한 종류의 “불가능한”질문은 실제로 강의에서 답변되며 누가 수업에서 실제로주의를 기울이고 있는지를 묻습니다.