Mam skrypt powłoki, który używa netcat
do nasłuchiwania localhost
na porcie 1111 dla żądań internetowych. Za każdym razem, gdy próbuję uzyskać dostęp localhost:1111/index.html
, otrzymuję:
invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038
liczba na końcu (60038) wydaje się zwiększać za każdym razem, gdy uzyskuję dostęp localhost
.
Wszelkie sugestie dotyczące tego, co się dzieje nie tak? A jaki jest default localhost
katalog? Gdzie powinienem umieścić index.html
tak, localhost:1111/index.html
aby działało?
EDYTOWAĆ
oto pełny skrypt:
#!/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
linię poleceń? Czy komunikat „nieprawidłowe połączenie” pochodzi znetcat
innego narzędzia?Odpowiedzi:
Twój oryginalny skrypt wymaga, aby połączenie pochodziło od hosta o nazwie
localhost
, ale z jakiegoś powodu filtrowanie nie działa. Niezwykłe, ponieważ pasuje dokładnie do nazwy wymienionej w błędzie:invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038
To polecenie nasłuchuje na
localhost
interfejsie sieciowym (i zignoruje żądania z innych interfejsów, takich jak sieć LAN):Jeśli chcesz nasłuchiwać żądań na wszystkich interfejsach, możesz
-s
całkowicie upuścić część:W moim systemie, jeśli chcę zrobić tego samego rodzaju hosta źródłowego bez filtrowania
-s
, muszę użyć jednej127.0.0.1
lublocalhost.localdomain
:W każdym razie jedna z powyższych opcji powinna działać dla Ciebie:
źródło