J'essaie d'envoyer des commandes à un port TCP à l'aide de la netcat
réponse et du canal
lorsque j'exécute netcat
et tape ma commande, elle affiche la réponse correctement, mais lorsque je passe la commande à partir d'un canal, elle envoie la commande correctement mais n'imprime pas la réponse
Donc, cela fonctionne correctement:
netcat localhost 9009
alors que cela envoie simplement une commande mais n'imprime pas de réponse:
echo 'my_command' | netcat localhost 9009
Pourquoi?
Comment faire netcat
pour imprimer un texte de réponse?
OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1)
version; et à l'extrémité distante est telegram-cli
sur la même machine.
netcat
reçu l'EOF sur STDIN, qu'il arrête immédiatement les deux côtés de la prise au lieu de faire un demi-fermeture et d'attendre que le côté distant ferme son extrémité. Si socat
c'est une option, je le recommande fortement à la place. Il n'y en a qu'un socat
, donc vous n'avez pas de problèmes de portabilité avec une douzaine de versions différentes, il se comporte beaucoup plus sainement et est hautement configurable.