Я попробовал две основные версии netcat: GNU и BSD. (моя версия BSD).
В версии GNU команда $ nc -l -p 12345 работает нормально, но с BSD опция -l (listen) не может использоваться в сочетании с -p (локальный порт).
Я не понимаю, почему существует такая разница между этими двумя версиями? В версии BSD, когда я использую опцию -p, она автоматически вызывает -l (прослушивать)?
Спасибо ;-)
Ps: https://bugs.launchpad.net/ubuntu/+source/netcat-openbsd/+bug/590925/comments/3 -p отличается между этими двумя. Версия OpenBSD использует его для установки исходного порта для удаленных подключений, в то время как традиционный nc использует его для указания локального порта, который будет прослушиваться в режиме прослушивания.
netcat-traditional
для GNU, netcat-openbsd
а также netcat
для BSD.
-l
принимает порт для прослушивания, поэтому он-p
вообще не нужен. Я не уверен, что-p
обходится без-l
. Я не знаю, почему есть разница.