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.
netcat-traditional
para GNU netcat-openbsd
y netcat
para BSD.
-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.