Ich habe ein Shell-Skript, das verwendet wird netcat
, um localhost
auf Port 1111 nach Webanforderungen zu suchen. Jedes Mal, wenn ich versuche, auf etwas zuzugreifen, localhost:1111/index.html
erhalte ich:
invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038
Die Zahl am Ende (60038) scheint mit jedem Zugriff zuzunehmen localhost
.
Irgendwelche Vorschläge, was falsch läuft? Und was ist das default localhost
Verzeichnis? Wo soll ich ein stellen, index.html
damit das localhost:1111/index.html
klappt?
BEARBEITEN
Hier ist das vollständige Skript:
#!/bin/sh
while true
do
netcat -vvl localhost -p 1111 -c '
set -x
read http_request
echo HTTP/1.0 200 OK
echo
echo "Received HTTP request: $http_request"
'
done
netcat
Kommandozeile posten ? Kommt die Meldung "Ungültige Verbindung" vonnetcat
einem anderen Tool?Antworten:
Ihr ursprüngliches Skript erfordert, dass die Verbindung von einem Host mit dem Namen stammt
localhost
, die Filterung jedoch aus irgendeinem Grund fehlschlägt. Ungewöhnlich, da es genau mit dem im Fehler angegebenen Namen übereinstimmt:invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038
Dieser Befehl überwacht die
localhost
Netzwerkschnittstelle (und ignoriert Anforderungen von anderen Schnittstellen wie Ihrem LAN):Wenn Sie auf allen Schnittstellen nach Anfragen suchen möchten, können Sie den
-s
Teil insgesamt löschen:Wenn ich auf meinem System dieselbe Art der Quellhostfilterung ausführen möchte, muss
-s
ich entweder127.0.0.1
oder Folgendes verwendenlocalhost.localdomain
:In jedem Fall sollte eine der oben genannten Optionen für Sie funktionieren:
quelle