Il y a un processus démon à l'écoute sur le port 5144, que je ne peux pas modifier.
Je veux utiliser netcat pour envoyer le contenu d'un fichier texte au serveur, mais cela provoque netcat
le blocage du terminal jusqu'à ce que j'appuie sur Ctrl+ C:
cat file.txt | nc -u 127.0.0.1 5144
La seule façon de le faire fonctionner est d'exécuter nc -u 127.0.0.1 5144
et de copier / coller manuellement le contenu du fichier.
Des idées?
Notez également:
cat file.txt | ...
conduit àbash: ...: command not found
et je peux continuer à utiliser le terminal- using
nc -u 127.0.0.1 5144 < file.txt
conduit au même comportement que l'utilisation de | au dessus
cat file.txt | …
? Et alorsnc -u 127.0.0.1 5144 < file.txt
?bash: ...: command not found
et l'utilisation de "<fichier.txt" fait la même chose que le | opérateur (netcat se bloque juste)bash: ...: command not found
»? Ou est-ce que ça dit "bash: cat: command not found
" ou "bash: nc: command not found
"? Et puis sort-il ensuite à une invite du shell, ou se bloque-t-il? (Je vous encourage à modifier la question pour ajouter ces détails, afin que les gens en Australie qui se réveillent à peine n'aient pas à lire tous ces commentaires pour découvrir quels sont vos symptômes.)Réponses:
Si vous utilisez la version GNU de netcat, vous pouvez utiliser l'indicateur -c pour fermer la connexion sur EOF.
Si vous utilisez la version d'origine de l'outil, vous pouvez utiliser l'indicateur -q.
Un exemple pour la version originale est:
J'ai ajouté "-q 0" à votre commande d'origine. Cela ferme la connexion après l'envoi du fichier.
la source
-l -p <port>
pour l'écoute. La version GNU prend juste-l <port>
.En supposant qu'après l'envoi de la connexion EOF restera inactive, vous pouvez utiliser l'
-w timeout
option, qui fonctionne pourtimeout
être égale à zéro (contrairement à l'-q
option stupide ...)la source
Si vous transférez de FreeBSD vers Windows:
FreeBSD:
cat file.txt | nc -N 10.0.0.5 5144
-N
arrêtera la prise réseau après EOFLes fenêtres:
nc -l -p 5144 > output.txt
-l
arrêtera d'écouter sur connexion fermée (contrairement-L
)la source