Как я могу выбрать версию Netcat по умолчанию в Ubuntu

Когда я проверял netcat -h Я обнаружил, что опция -e и Version отсутствует в моем netcat. Я использую Ubuntu 15.10. После поиска по форумам я нашел способ узнать установленную версию и кандидата на нее.

apt-cache policy netcat

Я получил следующий вывод:

Installed: (none)
Candidate: 1.10-41
Version table:
1.10-41 0
500 http://archive.ubuntu.com/ubuntu/ wily/universe amd64 Packages

Поэтому я установил netcat и получил версию кандидата. Теперь я запутался в том, как выбрать версию netcat по умолчанию, и опции -e нигде не видно.

Каким должно быть решение для этого?

Благодарю.

2 ответа

Решение

Там нет установленной версии, потому что netcat это переходный пакет. Это означает, что он не содержит никаких файлов. Пакет установлен (по умолчанию) и обеспечивает netcat является netcat-openbsd, Вы можете проверить его версию:

apt-cache policy netcat-openbsd  

Из руководства netcat:

"В этом netcat нет опции -c или -e, но вы все равно можете выполнить команду после того, как соединение будет установлено путем перенаправления файловых дескрипторов. Будьте осторожны, потому что открытие порта и позволить любому подключенному исполнить произвольную команду на вашем сайте - ОПАСНО (...)"


Существует также netcat-traditional с опцией -e. Вы можете удалить netcat-openbsd и установите традиционную версию:

sudo apt-get install netcat-traditional 

или сохраните обе версии и выберите традиционную, запустив:

sudo update-alternatives --config nc 

По умолчанию в Ubuntu netcat-openbsd пакет установлен. -e опция недоступна в netcat-openbsd, для этого вам нужно установить netcat-traditional пакет.

$sudo apt-get install netcat-traditional

После установки вам нужно переключиться с netcat-openbsd на netcat-Traditional. для этого типа

$sudo update-alternatives --config nc

вы получите несколько вариантов, как это

There are 2 choices for the alternative nc (providing /bin/nc).

  Selection    Path                 Priority   Status
------------------------------------------------------------
  0            /bin/nc.openbsd       50        auto mode
* 1            /bin/nc.openbsd       50        manual mode
  2            /bin/nc.traditional   10        manual mode

Press enter to keep the current choice[*], or type selection number: 

Затем введите номер выбора netcat-Traditional в командной строке (здесь 2).

и да, мы сделали это.

чтобы проверить работает ли он, наберите

$nc -h

ты увидишь -e опция в списке

Другие вопросы по тегам