Bonnour a tous,
Je rencontre un probleme de redirection avec netcat que j'utilise en serveur tcp avec un script de traitement de commande.
J'ai un script serveur qui ecoute et renvoie sur mon script qui interprete:
serveur.sh
Et l'interpreteur se contente de faire un echo de ce qu'il recoit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #!/bin/sh nc -l -p 22222 | ./interpreteur_localcmd
interpreteur.sh
Si je l'utilise tel quel et que dans un autre terminal je lance:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #!/bin/sh while read entree do echo $entree done
L'echo dans mon script interpréteur fonctionne bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 >>nc localhost 22222 >>TEST
Probleme, si au lieu de lancer un client via netcat j'utilise un soft qui se connecte sur ce port il ne se passe rien...
Pourtant, si je modifie mon serveur pour faire directement un cat sans passer par un script d'interpretation cela fonctionne (donc j'en deduis que la communication avec le soft est effective):
serveur.sh
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #!/bin/sh nc -l -p 22222 | cat
Mon probleme vient donc de l'appel a interpreteur_cmd.sh, mais seulement lorsque je l'attaque via ce soft, car dans un autre terminal cela fonctionne...
Une idée de la cause du problème ??
Merci beaucoup d'avance car la je sèche :/
PS1:Si mon serveur tcp est uniquement "nc -l -p 22222" et que je lance mon soft client, la connexion se passe bien et j'affiche dans le terminal serveur ce que le client envoie
PS2:Lorsque j'utilise mon serveur avec le script d’interprétation, mon soft se connecte bien car même s'il ne se passe rien, des que je stop ce soft le script serveur se termine (d'ailleurs si quelqu'un sait comment ne pas terminer le serveur lorsque son client se déconnecte ou le redémarrer automatiquement), j'en déduis un probleme seulement au niveau de la redirection..
Partager