Netcat không khởi động được trong chế độ nghe


13

Tôi đang sử dụng hệ thống CentOS 6.7 (Final) và khi tôi cố chạy ncở chế độ nghe, nó sẽ in như sau:

# nc -l 1234
nc: Protocol not available

Cổng không bị ràng buộc. Tôi cũng đã thử các số cổng khác. Lỗi này dường như đã được báo cáo rồi: https://access.redhat.com/solutions/1753753 . Thật không may, nó không chi tiết lắm.

Thông tin gói:

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

Có cái gì khác tôi cần phải thử không?


Phiên bản nào của nc bạn đang sử dụng?
Jenny D

@JennyD Tôi đã cập nhật bài đăng, vui lòng kiểm tra
Ilya I

1
Thật không may, sửa chữa duy nhất là hạ cấp, như được mô tả dưới đây. Tôi cũng đang bỏ phiếu để chuyển câu hỏi này sang Unix & Linux vì nó không nghiêm túc về quản trị hệ thống. Đây là một trang web tốt với một số chuyên gia khiến tôi sợ hãi, vì vậy xin đừng nghĩ rằng cuộc bỏ phiếu chặt chẽ là vì câu hỏi của bạn là xấu hoặc bất cứ điều gì.
Jenny D

Câu trả lời:


17

Tôi gặp vấn đề tương tự. Bạn có thể giải quyết nó theo cách này:

# 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

Xin lưu ý rằng gói dành cho x86_64(64-bit). Nếu bạn cần i386(32-bit), thì chính xác là:

wget http://vault.centos.org/6.6/os/i386/Packages/nc-1.84-22.el6.i686.rpm

Sử dụng vòng / phút với các cờ -i và -U đồng thời trông lạ (nhưng hoạt động). Yêu cầu tiêu chuẩn hơn là -ivh hoặc -Uvh.
dmourati

1
Làm việc như một cơ duyên!
Shawn Guo

Đường dẫn này không còn hoạt động nữa
BradLaney

@BradLaney tại sao không?
Eddie C.

@EddieC. URL là 404ing cho tôi khi tôi nhận xét. Nó dường như đang làm việc bây giờ. Đừng bận tâm.
BradLaney

9

Phiên bản đặc biệt này của netcat có một lỗi. Cho đến khi có một bản sửa lỗi cho nó, điều duy nhất bạn có thể làm là hạ cấp xuống phiên bản trước - sudo yum remove nc-1.84-24.el6.x86_64; sudo yum install nc-1.84-22.el6.x86_64nên thực hiện thủ thuật.


1
Không yumcó đối số có thể hạ cấp xuống phiên bản cụ thể của gói mà không cần gỡ cài đặt trước?
kasperd

Tuyệt vời, nhưng tôi đã không thể hạ cấp. Yum nói rằng không có gói nào khả dụng (cả installphiên bản cụ thể và downgradelệnh). Cũng đã thử tìm kiếm tập tin vòng / phút đó và chưa tìm thấy.
Ilya I

4

Trả lời câu hỏi:

  1. CÓ, hạ cấp là cần thiết để nc có thể lắng nghe. và đối với các ý kiến ​​khác:

a) -p không được sử dụng khi ở chế độ nghe. từ trang nc:

-l Được sử dụng để xác định rằng nc nên lắng nghe một kết nối đến thay vì bắt đầu một kết nối đến một máy chủ từ xa. Đó là một lỗi khi sử dụng tùy chọn này kết hợp với các tùy chọn -p, -s hoặc -z.

b) hạ cấp có thể được thực hiện trong một bước, lệnh hạ cấp yum hoạt động với url đến gói:

$ 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

0
# nc -l -p 1234

Bạn có thể nghe trên cổng đó bằng cách sử dụng -pcờ rõ ràng :

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

Vấn đề nằm ở chỗ nccoi 1234 là cổng đích (mặc dù được chạy ở chế độ nghe) và cố gắng nghe trên cổng 0 (tạo ra thông điệp kỳ lạ đó). Rõ ràng vượt qua -pcác công trình xung quanh nó.


Tôi đã thử điều này trên centos 6 và nó không hoạt động khi sử dụng phiên bản nc-1.84-24 Khắc phục là hạ cấp xuống phiên bản nc-1.84-22 theo câu trả lời được chấp nhận.
Criggie

phiên bản đó không cho phép sử dụng -p với -l.
andrej

-3

cài đặt nmap:

yum cài đặt nmap

thử:

ncat -l 1234


Vui lòng đọc câu hỏi và câu trả lời đã được cung cấp để tìm hiểu lý do tại sao câu trả lời của bạn không đủ trong trường hợp cụ thể đó.
Sven
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.