Netcat dinleme modunda başlayamıyor


13

CentOS 6.7 (Final) sistemini kullanıyorum ve ncdinleme modunda çalışmaya çalıştığımda aşağıdakileri yazdırıyor:

# nc -l 1234
nc: Protocol not available

Bağlantı noktası bağlı değil. Diğer bağlantı noktası numaralarını da denedim. Bu hatanın zaten bildirildiği görülüyor: https://access.redhat.com/solutions/1753753 . Ne yazık ki çok detaylı değil.

Paket bilgisi:

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

Denemem gereken başka bir şey var mı?


Hangi nc sürümünü kullanıyorsunuz?
Jenny D

@JennyD Gönderiyi güncelledim, lütfen kontrol edin
Ilya I

1
Ne yazık ki tek düzeltme, aşağıda açıklandığı gibi bir sürüm düşürmedir. Bu soruyu kesinlikle sistem yönetimi ile ilgili olmadığı için Unix ve Linux'a taşımak için de oy kullanıyorum . Beni huşu içinde bırakan bazı uzmanlar için iyi bir site, bu yüzden lütfen yakın oylamanın sorunuzun kötü olması veya başka bir şey olduğunu düşünmeyin.
Jenny D

Yanıtlar:


17

Ben de aynı sorunla karşılaştım. Bunu şu şekilde çözebilirsiniz:

# 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

Lütfen paketin x86_64(64 bit) olduğunu unutmayın . Eğer gerekiyorsa i386(32-bit), doğru biridir:

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

-İ ve -U bayraklarıyla rpm kullanmak aynı anda garip görünüyor (ama çalışıyor). Daha standart çağrı -ivh veya -Uvh'dir.
dmourati

1
bir cazibe gibi çalışın!
Shawn Guo

Bu yol artık çalışmıyor
BradLaney

@BradLaney neden olmasın?
Eddie

@EddieC. Yorum yaptığımda URL benim için 404'dü. Şimdi çalışıyor gibi görünüyor. Boşver.
BradLaney

9

Netcat'in bu özel sürümünde bir hata var. Bunun için bir düzeltme olana kadar, yapabileceğiniz tek şey önceki bir sürüme geçmektir - sudo yum remove nc-1.84-24.el6.x86_64; sudo yum install nc-1.84-22.el6.x86_64hile yapmalıdır.


1
yumİlk olarak kaldırmadan paketin belirli bir sürümüne geçebilecek bir argümanınız yok mu ?
kasperd

Harika, ama eski sürüme geçemedim. Yum hiçbir paket bulunmadığını söylüyor (hem installbelirli sürümde hem de downgradekomutta). Ayrıca o rpm dosyasını aramayı denedi ve henüz bulunamadı.
Ilya I

4

Soruyu cevaplamak:

  1. EVET, nc'nin dinleyebilmesi için eski sürüme geçilmesi gerekir. ve diğer yorumlara gelince:

a) -p'nin dinleme modunda kullanılması gerekmez. nc manpage'den:

-l nc'nin uzak bir ana bilgisayara bağlantı başlatmak yerine gelen bir bağlantıyı dinlemesi gerektiğini belirtmek için kullanılır. Bu seçeneği -p, -s veya -z seçenekleriyle birlikte kullanmak bir hatadır.

b) downgrade tek adımda yapılabilir, yum downgrade komutu pakete url ile çalışır:

$ 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

-pBayrağı kullanarak bu bağlantı noktasını dinleyebilirsiniz :

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

Sorun, nc1234'ü hedef bağlantı noktası (dinleme modunda çalıştırılmasına rağmen) olarak ele alma ve 0 numaralı bağlantı noktasını (bu garip mesajı üreten) dinlemeye çalışmaktı. -pEtrafında açıkça geçen işler.


Ben centos 6 üzerinde denedim ve nc-1.84-24 sürümünü kullanarak işe yaramadı Düzeltme, kabul edilen yanıta göre nc-1.84-22 sürümüne düşürmek oldu.
Criggie

bu sürüm -l ile -p kullanımına izin vermez.
andrej

-3

nmap yükleyin:

yum nmap kurulum

Deneyin:

ncat -l 1234


Bu durumda cevabınızın neden yeterli olmadığını öğrenmek için lütfen soruyu ve verilen cevapları okuyun.
Sven
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.