Eu tentei as duas versões principais do netcat: GNU e BSD. (a minha é a versão BSD).
Na versão GNU, o comando $ nc -l -p 12345 funciona bem, mas com o BSD, a opção -l (listen) não pode ser usada em conjunto com -p (porta local).
Eu não entendo por que existe essa diferença entre essas duas versões? Na versão BSD, quando uso a opção -p, ela chama automaticamente -l (escuta)?
obrigado ;-)
Ps: https://bugs.launchpad.net/ubuntu/+source/netcat-openbsd/+bug/590925/comments/3 -p é diferente entre os dois. A versão do OpenBSD a utiliza para definir uma porta de origem para conexões remotas, enquanto a tradicional nc a utiliza para especificar a porta local na qual irá escutar no modo de escuta.
netcat-traditional
para GNU netcat-openbsd
e netcat
BSD.
-l
leva a porta para escutar, portanto-p
não é necessário. Não sei ao certo o que-p
acontece sem-l
. Não sei por que há uma diferença.