linux – Usando netcat para el reenvío de puertos

Pregunta:

Tengo un proceso que escucha en una IP:port ; de hecho, es Spark Streaming que se conecta a un socket. El problema es que deseo crear de alguna manera un servidor que se conecte a Spark en un puerto y los datos se transmitan a este servidor desde otro puerto.

Por ejemplo, el ejemplo de Spark Streaming usa la utilidad netcat (por ejemplo, nc -lk 5005 ). Sin embargo, tengo otro servicio que escucha los mensajes entrantes y luego escupe un mensaje. Entonces necesito algún tipo de servidor que pueda escuchar los mensajes del servicio A y pasarlos a Spark.

Mi servicio A se basa en enchufes. Y mi consumidor de chispas depende de los enchufes.

Esto es lo que he hecho hasta ahora es el reenvío de puerto a puerto, pero esto no parece funcionar:

nc -X 4 -x 127.0.0.1:5005 localhost 5006

Con la idea de que el servicio A:5005 -> enchufe -> 5006 -> Spark

Parece que no puedo encontrar la forma correcta de hacer que esto funcione.

Algunas respuestas han sugerido lo siguiente:

socat tcp-l:5005,fork,reuseaddr tcp:127.0.0.1:5006

Mi receptor de bujías no se conecta o parece que no se puede conectar. Recibo el error: Error connecting to 127.0.0.1:5006 - java.net.ConnectException: Connection refused

Respuesta:

no puede usar solo nc para tráfico hacia adelante, nc no tiene modo de keep-alive o de fork

debe utilizar otras herramientas en lugar de nc ; por ejemplo, use socat o ncat


este comando escucha en el puerto 5050 y reenvía todo al puerto 2020

socat tcp-l:5050,fork,reuseaddr tcp:127.0.0.1:2020

Ncat es una utilidad de red repleta de funciones que lee y escribe datos a través de redes desde la línea de comandos. Ncat fue escrito para el Proyecto Nmap como una reimplementación muy mejorada del venerable Netcat. Eso

ncat -l localhost 8080 --sh-exec "ncat example.org 80"

Y puedes usar otras herramientas:

Escuche en el puerto 1234 y reenvíelo al puerto 4567 en la dirección "1.1.1.1"

./proxy tcp -p ":1234" -T tcp -P "1.1.1.1:4567"

Escuche en el puerto 1234 y reenvíelo al puerto 4567 en la fuente de la dirección "1.1.1.1"

./gost -L tcp://:1234/1.1.1.1:4567

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım