2016-10-22 3 views
0

ich macOS bin mit und hat netcat über Homebrew installierteinfache einzelnen HTTP-Antwort netcat als Webserver auf macOS mit

$ brew info netcat 
netcat: stable 0.7.1 (bottled) 
Utility for managing network connections 
http://netcat.sourceforge.net/ 
/usr/local/Cellar/netcat/0.7.1 (11 files, 104.2K) * 
    Poured from bottle on 2016-06-21 at 12:19:18 
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/netcat.rb 

Ich versuche nur netcat zu bekommen, um eine eingehende curl Anfrage zu antworten, aber ich denke, das Problem, das ich habe, ist, dass Netcat nicht kennt, wenn zu reagieren.

Hier ist der Inhalt erwartet zurückgeschickt werden, ist es in response.txt gespeichert ist:

HTTP/1.1 200 OK 

Hier ist die netcat Befehl in einem Terminal Shell ausgeführt werden:

sudo nc -l -p 80 < response.txt 

Hier ist der Curl-Befehl in einem anderen Terminal-Shell ausgeführt werden:

Könnte jemand helfen m Ich verstehe, was ich tun müsste, damit dies wie geplant funktioniert.

Ich kann dies mit netcat anstelle von curl für die Verbindung arbeiten, aber idealerweise möchte ich einen nonnetcat Client (wie curl oder einen Webbrowser), um eine Verbindung zu localhost: 80 und haben die erste Instanz von netcat antwortet.

Danke.

+2

In' nc' können Sie das Flag '-p' nicht zusammen mit dem Flag' -l' verwenden. Das macht keinen Sinn und wird einen Fehler auslösen. Dies wird in den man-Seiten klar erklärt. – arkascha

+1

Die Verwendung funktioniert stattdessen ohne Probleme für mich: 'sudo nc -l 80 arkascha

+0

@arkascha danke für die Antwort, ich sehe jetzt, dass Sie in Bezug auf die Verwendung von -p keinen Sinn haben, aber versuchen 'sudo nc -l 80 Integralist

Antwort

0

Versuchen Sie, die macOS netcat statt Homebrew verwenden, und legen Sie die Option -p:

sudo /usr/bin/nc -l 80 < response.txt 
+0

Ich bin mir nicht sicher, was der Unterschied zwischen gnus Version und macOS 'ist (in Bezug auf dieses spezielle Beispiel)? Aber hey, es hat funktioniert. Vielen Dank :-) – Integralist

0

Beachten Sie die vollständige Anfrage Details enthalten (Response-Header, etc ..) in „response.txt "