Je travaille sur des devoirs pour mon collège. La tâche consiste à récupérer la page Web sur HTTPS à l'aide de nc (netcat).
Pour récupérer une page via HTTP, je fais ceci:
cat request.txt | nc -w 5 <someserver> 80
Dans request.txt, j'ai une requête HTTP 1.1
GET / HTTP/1.1
Host: <someserver>
Maintenant ... Cela fonctionne bien. Comment récupérer une page Web qui utilise HTTPS?
J'obtiens un certificat de page comme celui-ci. Et c'est le point où je suis coincé
openssl s_client -connect <someserver>:443
nc
ne fait pas https. openssl s_client
est aussi proche que possible. Faites quelque chose comme ça:
$ 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
Idem pour le super utilisateur: https://superuser.com/questions/346958/can-the-telnet-or-netcat-clients-communicate-over-ssl
Testé sur Ubuntu 18.04.
Vous voulez probablement utiliser Stunnel.
Un programme GNU permettant de crypter des connexions arbitraires TCP à l'intérieur de Secure Sockets Layer (SSL).
C'est très UNIX-y. Un excellent outil pour une tâche simple.
Demandez de l'aide au prof ou au TA. Vous n'essaieriez jamais de faire HTTPS sur netcat dans le monde réel (openssl s_client
serait mon outil de premier choix, mais il y a d'autres options) donc les chances de trouver la "bonne" réponse que le prof veut en demandant aux gens dans le monde réel sont faibles. Je passerais probablement en revue toutes les diapositives/notes des conférences; en général, ce genre de questions "impossibles" trouve en fait une réponse dans les conférences et est demandé juste pour voir qui fait vraiment attention en classe.