Netcat не удается запуститься в режиме слушания

Я использую CentOS 6.7 (Финал) система, и когда я пытаюсь работать nc в режиме слушания это печатает следующее:

# nc -l 1234
nc: Protocol not available

Порт не связывается. Я попробовал другие номера портов также. Об этой ошибке, кажется уже, сообщили: https://access.redhat.com/solutions/1753753. К сожалению, это не очень подробно.

Информация о пакете:

Name        : nc
Arch        : x86_64
Version     : 1.84
Release     : 24.el6

Есть ли что-то еще, что я должен испытать?

13
задан 18 October 2015 в 13:57
5 ответов

Я столкнулся с той же проблемой. Вы можете решить эту проблему следующим образом:

# Removes the old package
yum erase nc

# Manually downloads the working package from the Official Repository
wget http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm

# Installs the package
rpm -iUv nc-1.84-22.el6.x86_64.rpm

Обратите внимание, что пакет предназначен для x86_64 (64-бит). Если вам нужен i386 (32-разрядный), правильный вариант:

wget http://vault.centos.org/6.6/os/i386/Packages/nc-1.84-22.el6.i686.rpm
17
ответ дан 2 December 2019 в 21:20

В этой конкретной версии netcat есть ошибка. Пока это не исправлено, единственное, что вы можете сделать, это вернуться к предыдущей версии - sudo yum remove nc-1.84-24.el6.x86_64; sudo yum install nc-1.84-22.el6.x86_64 должно помочь.

9
ответ дан 2 December 2019 в 21:20
# nc -l -p 1234

Вы можете прослушивать этот порт, явно используя флаг -p :

-p source_port
         Specifies the source port nc should use, subject to privilege restrictions and availability.

Проблема заключалась в nc обработке 1234 как порт назначения (несмотря на то, что он запущен в режиме прослушивания) и пытается прослушивать порт 0 (который выдал это странное сообщение). Явная передача -p позволяет обойти это.

0
ответ дан 2 December 2019 в 21:20

установить nmap:

yum install nmap

попробуйте:

ncat -l 1234

-3
ответ дан 2 December 2019 в 21:20

Ответ на вопрос:

  1. ДА, необходимо понизить версию, чтобы NC мог слушать. и что касается других комментариев:

a) -p не предполагается использовать в режиме прослушивания. из man-страницы nc:

-l Используется для указания, что nc должен прослушивать входящее соединение, а не инициировать соединение с удаленным хостом. Ошибочно использовать эту опцию вместе с параметры -p, -s или -z.

б) понижение версии можно выполнить за один шаг, команда yum downgrade работает с URL-адресом пакета:

$ rpm -q nc
nc-1.84-24.el6.x86_64
$ nc -l 12345 #Although the syntax is correct, the command fails
nc: Protocol not available
$ nc -l -p 12345 #attempt to run with incorrect syntax
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
          [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
          [-x proxy_address[:port]] [hostname] [port[s]]
$ sudo yum downgrade http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm  #shortcut to downgrade
...
Setting up Downgrade Process
nc-1.84-22.el6.x86_64.rpm                                                              |  57 kB     00:00
Examining /var/tmp/yum-root-Iq4yc7/nc-1.84-22.el6.x86_64.rpm: nc-1.84-22.el6.x86_64
Resolving Dependencies
--> Running transaction check
---> Package nc.x86_64 0:1.84-22.el6 will be a downgrade
---> Package nc.x86_64 0:1.84-24.el6 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================
 Package          Arch                 Version                     Repository                            Size
==============================================================================================================
Downgrading:
 nc               x86_64               1.84-22.el6                 /nc-1.84-22.el6.x86_64               109 k

Transaction Summary
==============================================================================================================
Downgrade     1 Package(s)

Total size: 109 k
Is this ok [y/N]: y
...
Removed:
  nc.x86_64 0:1.84-24.el6

Installed:
  nc.x86_64 0:1.84-22.el6

Complete!
$ nc -l -p 12345 #attempt to run with incorrect syntax
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
          [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
          [-x proxy_address[:port]] [hostname] [port[s]]
$ nc -l 12345 # try to listen again
^C
$#nc successully opens a socket on 12345. had to stop it with ctrl+C
4
ответ дан 2 December 2019 в 21:20

Теги

Похожие вопросы