Pregunta

Necesito escuchar un puerto arbitrario dentro de la caja incorporada de Linux. Elegí el puerto 6660 porque está destinado a las conexiones sin cifrar de todos modos y, dado que la caja de Linux ejecuta el sistema operativo Linux personalizado, no hay muchos puertos abiertos. Descubrí que NetCat (NC en la línea de comandos) sería la solución más fácil y la mejor lista para ir para eso, por lo que no tengo que comenzar a programar algún programa C para ese propósito.

Me las arreglé para captar el comando y las opciones e implementé la forma más sencilla de escuchar texto simple en mi PC de otra PC como esta:

sven@sven:~$ nc 192.168.4.110 6660
sven@sven:~$ hello there!
anotherUser@userg:~$ nc -l -p 6660
anotherUser@userg:~$ hello there!

Pero el caso es que la herramienta NetCAT viene con el paquete BusyBox en ese cuadro Linux. Y no estoy seguro de cuál sería la sintaxis cómo escuchar un puerto (6660 por ejemplo). Siempre obtengo el mismo diálogo:

~ # nc -l -p 6660
BusyBox v1.17.1 (Debian 1:1.17.1-8) multi-call binary.
Usage: nc [IPADDR PORT]    
Open a pipe to IP:PORT

También he intentado muchas otras formas en implementar la escucha, pero no puedo hacerlo. ¿Supongo que al menos me daría alguna opción? también

nc -h

o

nc --help

No dale ninguna opción "menos"

Pero enviando el texto desde el cuadro incrustado de Linux a mi PC funciona:

~ # nc 192.168.4.130 6660
fsdf
tere
^C
~ #
sven@sven:~$ nc -l -p 6660
fsdf
tere

La caja incorporada de Linux tiene una conexión neta completamente funcional dentro de la misma red local y tiene enlaces ETH0 y LO existentes

eth0      Link encap:Ethernet  HWaddr D0:E3:47:00:03:5F  
          inet addr:192.168.4.179  Bcast:192.168.4.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28046281 errors:0 dropped:0 overruns:0 frame:0
          TX packets:428464 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2458890234 (2.2 GiB)  TX bytes:83021395 (79.1 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2282 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2282 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:444956 (434.5 KiB)  TX bytes:444956 (434.5 KiB)

Töövõite!

¿Fue útil?

Solución

Aquí está la página manual para la implementación de NC de BusyBox .

La sintaxis correcta es

nc -l -p <port>

El problema es que, creo que su versión de busybox está compilada sin capacidades de audición de NC.De hecho, hay una opción de configuración en la hora de construcción, NC_SERVER, que debe estar habilitado para activar esa función.

¿Puede construir otro nc, tal vez de esta versión y copie el binario en su host incrustado?Es posible que deba construir un entorno de compilador cruzado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top