Frage Verbinden mit HTTPS mit netcat (nc) [geschlossen]


Ich arbeite an Hausaufgaben für mein College. Aufgabe ist es, eine Webseite auf HTTPS mit nc (netcat) zu holen.

Um eine Seite über HTTP zu holen, mache ich Folgendes:

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

In request.txt habe ich HTTP 1.1 Anfrage

GET / HTTP/1.1
Host: <someserver>

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

Ich erhalte ein Seitenzertifikat wie dieses. Und das ist der Punkt, an dem ich feststecke

openssl s_client -connect <someserver>:443

31
2018-01-12 20:19


Ursprung


socat - OPENSSL würde funktionieren, aber das ist wahrscheinlich nicht Ihre Aufgabe. - Tobu
s / collage / college /, s / hexe / was / - Jukka Dahlbom
Sie können die Bash-Umleitung verwenden, um die Verwendung zu vermeiden cat, d.h. nc -w 5 <someserver> 80 < request.txt. - RastaJedi


Antworten:


nc tut nicht https. openssl s_client ist so nah wie du kommst. Tun Sie etwas wie folgt:

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

42
2018-01-12 20:43



Ich meine, es sei denn, Ihre Aufgabe besteht darin, einen Code zu schreiben, der SSL ausführt. Das wäre StackOverflow-Gebiet :) - Bill Weiss
Ich habe das versucht, aber ich bekomme nicht, was der Server mir in stdout zurücksendet ... - Dog eat cat world


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 auf Ubuntu 18.04.


23
2017-12-09 08:16



Gibt es eine Möglichkeit, Ihren Befehl zu übernehmen und Benutzernamen- und Kennwortbefehle für https-Sites, die eine Authentifizierung erfordern, an diesen Befehl zu übergeben? - user53029
@ user53029 Ich denke nicht für die meisten Websites, wo Authentifizierung funktioniert, indem Sie ein Formular ausfüllen und Ihnen eine Sitzung Cookies geben. Es sei denn, es ist eine der wenigen Websites, die andere Methoden der Authentifizierung verwendet wie en.wikipedia.org/wiki/Basic_access_authentication. Sie können das Formular auch manuell ausfüllen und dann das Cookie senden, solange es gültig ist. Oder wenn du verzweifelt bist stackoverflow.com/questions/13376189/ ... - Ciro Santilli 新疆改造中心 六四事件 法轮功
ncat ist nicht nc, ncat unterstützt keine Verbindung beim Senden der Nutzdaten wie bei nc. Die Frage erfordert eine objektive Antwort mit nc nicht anderen Apps. - e-info128
@ e-info128 danke für diese Info. Meine Philosophie ist: Wenn ich etwas suche und auf diese Seite klicke, finde ich die Antwort, die ich möchte. - Ciro Santilli 新疆改造中心 六四事件 法轮功


Sie möchten wahrscheinlich Stunnel verwenden.

Ein GNU-Programm, mit dem beliebige TCP-Verbindungen innerhalb von Secure Sockets Layer (SSL) verschlüsselt werden können.

http://www.stunnel.org

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


4
2018-01-12 23:41



Stunnel + NC würde funktionieren, nehme ich an. Guter Gedanke. - Bill Weiss


Bitten Sie den Prof oder TA um Hilfe. Sie würden nie versuchen, HTTPS über netcat in der realen Welt zu tun (openssl s_client wäre mein Erstlinien-Werkzeug der Wahl, aber es gibt andere Möglichkeiten), so dass die Chancen, die "richtige" Antwort zu finden, die der Profi will, indem er Leute in der realen Welt fragt, niedrig ist. Ich würde wahrscheinlich alle Folien / Notizen aus den Vorlesungen durchgehen; Typischerweise werden diese Art von "unmöglichen" Fragen tatsächlich in den Vorlesungen beantwortet und nur darum gebeten, zu sehen, wer tatsächlich im Unterricht aufpasst.


2
2018-01-12 22:25