Trả lời câu hỏi:
- 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