Mengapa "nc-l xxxx" tidak membuka port?

14

Saya mencoba membuat netcat untuk mendengarkan di port 4444, tetapi sepertinya tidak berfungsi. Saya memeriksa untuk melihat apakah port terbuka menggunakan nmap, tetapi tidak mengambilnya dan saya tidak tahu mengapa. Saya telah mencoba berbagai port tanpa sukacita.

Ini adalah salinan terminal saya sehingga Anda dapat melihat apa yang saya lakukan dan apa yang saya coba:

#iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


# nmap localhost -p 4444

Starting Nmap 5.61TEST4 ( http://nmap.org ) at 2012-07-31 16:37 BST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00019s latency).
Other addresses for localhost (not scanned): 127.0.0.1
PORT     STATE  SERVICE
4444/tcp closed krb524

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds


# nc -l 4444 &
[1] 1951


# nmap  localhost -p 1-65535

Starting Nmap 5.61TEST4 ( http://nmap.org ) at 2012-07-31 16:42 BST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000070s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 65532 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
7337/tcp  open  unknown
33507/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 1.37 seconds


# ps -e | grep nc
   12 ?        00:00:00 sync_supers
 1156 tty1     00:00:00 ck-launch-sessi
 1232 tty1     00:00:00 dbus-launch
 1274 ?        00:00:00 klauncher
 1951 pts/2    00:00:00 nc
Grezzo
sumber

Jawaban:

18

Saya menjalankan mode verbose -vdan mendapatkan petunjuk kembali:

4444: inverse host lookup failed: Unknown server error : Connection timed out`
listening on [any] 41579 ...`

jadi saya mencoba menentukan port dengan -pseperti ini nc -lvp 4444dan berfungsi:

listening on [any] 4444 ...

Jelas saya perlu menggunakan -pdengan -lversi nc ini.

Saya akan senang jika ada yang bisa memberi tahu saya mengapa ada perbedaan ini. Apakah saya menjalankan versi lama? ( -hlaporan v1.10-38)

Grezzo
sumber
5
Ada banyak versi berbeda dari Netcat (nc). The -lpsintaks dari versi asli Hobbit ini, saya percaya. Versi yang diturunkan dari BSD melarang penggunaan -pdengan -l. Banyak yang tidak mendukung -e. Selalu periksa halaman manual instalasi Anda atau -hkeluaran opsi.
bonsaiviking
1
Hanya untuk memuaskan pertanyaan Anda, apakah Anda menjalankan versi lama, saya akan mengatakan ya. 1.89-3 stok di sini.
tao
1
Terima kasih kawan Itu menjelaskan ketidakkonsistenan antara Linux nc saya (versi hobbit / debian) dan OS X nc saya (versi BSD).
Grezzo
Anda mungkin telah menginstal netcat-traditionalsebagai gantinya netcatataunetcat-openbsd
SeMeKh
Dalam Debian 8.6 instalasi baru -p diperlukan untuk port, dan saya dapat mengonfirmasi bahwa netcat-tradisional diinstal secara default (diverifikasi oleh apt)
George Vasiliou