J'ai un script shell qui utilise netcat
pour écouter sur localhost
le port 1111 pour les requêtes Web. Chaque fois que j'essaie d'accéder localhost:1111/index.html
par exemple, j'obtiens:
invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038
le nombre à la fin (60038) semble augmenter à chaque fois que j'accède localhost
.
Des suggestions sur ce qui ne va pas? Et quel est le default localhost
répertoire? Où dois-je mettre un index.html
pour que localhost:1111/index.html
cela fonctionne?
ÉDITER
voici le script complet:
#!/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
ligne de commande? Le message «connexion non valide» provient-il d'netcat
un autre outil?Réponses:
Votre script d'origine nécessite que la connexion provienne d'un hôte nommé
localhost
, mais pour une raison quelconque, le filtrage échoue. Insolite, car il correspond exactement au nom répertorié dans l'erreur:invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038
Cette commande écoutera sur l'
localhost
interface réseau (et ignorera les demandes d'autres interfaces, comme votre LAN):Si vous souhaitez écouter les demandes sur toutes les interfaces, vous pouvez supprimer
-s
complètement la partie:Sur mon système, si je veux faire le même genre d'hôte source sans filtrage
-s
, je dois utiliser soit127.0.0.1
oulocalhost.localdomain
:Dans tous les cas, l'une des options ci-dessus devrait fonctionner pour vous:
la source