He probado las dos versiones principales de netcat: GNU y BSD. (El mío es la versión BSD).
En la versión GNU, el comando $ nc -l -p 12345 funciona bien pero con BSD, la opción -l (escuchar) no se puede usar en conjunción con -p (puerto local).
No entiendo por qué hay tanta diferencia entre estas dos versiones. En la versión BSD, cuando uso la opción -p, llama automáticamente -l (escuchar)?
Gracias ;-)
Ps: https://bugs.launchpad.net/ubuntu/+source/netcat-openbsd/+bug/590925/comments/3 -p es diferente entre los dos. La versión de OpenBSD lo usa para establecer un puerto de origen para conexiones remotas, mientras que el nc tradicional lo usa para especificar el puerto local en el que escuchará cuando esté en modo de escucha.
-l
toma el puerto para escuchar, por-p
lo que no es necesario en absoluto. No estoy seguro de lo que-p
pasa sin-l
. No sé por qué hay una diferencia.netcat-traditional
para GNUnetcat-openbsd
ynetcat
para BSD.Respuestas:
En la versión BSD, -l toma el puerto para escuchar, por lo que -p no es necesario en absoluto. No estoy seguro de qué hace -p sin -l. No sé por qué hay una diferencia. - icktoofay <- el crédito por la solución va para ese tipo ... pero no creo que tenga una cuenta en SU, solo SO.
fuente