Me gustaría tomar un programa P
que lea stdin
y escriba stdout
, pero que lo conecte nc
o lo que sea que lea desde un puerto determinado y lo envíe a otro puerto.
# The reading is easy, here P reads from port 50505
nc -l 50505 | P
¿Cómo consigo que escriba de nuevo para decir el puerto 60606?
P
y esperar leer la salida deP
la segunda conexión TCP? ¿Por qué la etiqueta UDP?UDP
, creo que queríaports
, pero esa no era una palabra clave existente, así que penséTCP
, y creo que agreguéUDP
por reflejo.Respuestas:
Me refiero a que alguien puede abrir 2 conexiones TCP a su máquina, una al puerto 50505 y otra al puerto 60606, enviar datos sobre el primero destinado a ser alimentado a P y esperar leer la salida de P de la segunda conexión TCP, entonces eso sería:
O con
socat
:Para
P
enviar su salida de vuelta a la misma conexión:fuente
No es necesario
nc
para trabajar con puertos.bash
puede hacer eso por sí mismo:fuente
/dev/tcp
a menudo está deshabilitado y no se puede usar para escuchar . Lo necesitazsh
si desea un shell que pueda crear sockets tcp de escucha.ztcp -l
para escuchar yztcp -a
aceptar conexiones en la toma de escucha).