it-swarm.com.de

Verbindung zu HTTPS mit netcat (nc)

Ich arbeite an Hausaufgaben für mein College. Aufgabe ist es, Webseiten auf HTTPS mit nc (netcat) abzurufen.

Um eine Seite über HTTP abzurufen, gehe ich folgendermaßen vor:

cat request.txt | nc -w 5 <someserver> 80

In request.txt habe ich eine HTTP 1.1-Anfrage

GET / HTTP/1.1
Host: <someserver>

Nun ... Das funktioniert gut. Wie kann ich eine Webseite abrufen, die HTTPS verwendet?

Ich bekomme ein solches Seitenzertifikat. Und das ist der Punkt, an dem ich festsitze

openssl s_client -connect <someserver>:443
45
Oto Brglez

nc macht kein https. openssl s_client ist so nah wie möglich. Mach so etwas:

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

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

Gleiches gilt für Super User: https://superuser.com/questions/346958/can-the-telnet-or-netcat-clients-communicate-over-ssl

Getestet unter Ubuntu 18.04.

Sie möchten wahrscheinlich Stunnel verwenden.

Ein GNU Programm, das das Verschlüsseln beliebiger TCP Verbindungen innerhalb von Secure Sockets Layer (SSL)) ermöglicht.

http://www.stunnel.org

Es ist sehr UNIX-y. Ein großartiges Werkzeug für eine einfache Aufgabe.

6
Yves Junqueira

Bitten Sie den Professor oder TA um Hilfe. Sie würden niemals versuchen, HTTPS über Netcat in der realen Welt durchzuführen (openssl s_client wäre mein erstes Werkzeug der Wahl, aber es gibt andere Möglichkeiten), so dass die Chancen gering sind, die "richtige" Antwort zu finden, die der Professor wünscht, indem er Menschen in der realen Welt fragt. Ich würde wahrscheinlich alle Folien/Notizen aus den Vorlesungen durchgehen; Typischerweise werden diese "unmöglichen" Fragen tatsächlich in den Vorlesungen beantwortet und nur gefragt, wer im Unterricht tatsächlich aufpasst.

3
womble