Je voudrais prendre un programme P
qui lit à partir de stdin
et écrit sur stdout
, mais le connecter à nc
ou quoi que ce soit tel qu'il lit à partir d'un certain port et sort sur un autre port.
# The reading is easy, here P reads from port 50505
nc -l 50505 | P
Comment puis-je l'écrire pour dire le port 60606?
P
et s'attendre à lire la sortie deP
la deuxième connexion TCP? Pourquoi la balise UDP?UDP
je pense que je voulaisports
, mais ce n'était pas un mot-clé existant, alors j'ai penséTCP
, et je pense que j'ai ajoutéUDP
par réflexe.Réponses:
Je veux dire que quelqu'un peut ouvrir 2 connexions TCP sur votre machine, une sur le port 50505 et une autre sur le port 60606, envoyer des données sur la première destinée à être envoyée à P et s'attendre à lire la sortie de P à partir de la deuxième connexion TCP, alors ce serait:
Ou avec
socat
:Pour
P
renvoyer sa sortie à la même connexion:la source
Vous n'avez pas besoin
nc
de travailler avec des ports.bash
peut le faire lui-même:la source
/dev/tcp
est souvent désactivé et ne peut pas être utilisé pour écouter . Vous avez besoinzsh
si vous voulez un shell capable de créer des sockets TCP à l'écoute.ztcp -l
pour écouter etztcp -a
accepter les connexions sur la prise d'écoute).