версии netcat

8

Я попробовал две основные версии 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 использует его для указания локального порта, который будет прослушиваться в режиме прослушивания.


источник
3
В версии BSD -lпринимает порт для прослушивания, поэтому он -pвообще не нужен. Я не уверен, что -pобходится без -l. Я не знаю, почему есть разница.
1
Попробуйте ncat (в дистрибутиве nmap).
Уильям Перселл
1
Попробуйте socat, совершенно другой синтаксис, но гораздо больше возможностей, чем у старого доброго netcat.
Марцин
@icktoofay, если вы переместите свой комментарий к ответам, я буду голосовать, а затем голосовать за закрытие ... просто пометьте меня в сообщении, чтобы я его увидел
RobotHumans
Пакеты Ubuntu предназначены netcat-traditionalдля GNU, netcat-openbsdа также netcatдля BSD.
Сиро Сантилли 冠状 病毒 审查 六四 事件 法轮功

Ответы:

4

В версии BSD -l принимает порт для прослушивания, поэтому -p вообще не нужен. Я не уверен, что -p обходится без -l. Я не знаю, почему есть разница. - icktoofay <- кредит на решение достается этому парню ... но я не думаю, что у него есть аккаунт на SU, просто ТАК.

RobotHumans
источник