Perché "nc -l xxxx" non sta aprendo una porta?


14

Sto cercando di far ascoltare netcat sulla porta 4444, ma non sembra funzionare. Sto verificando se la porta è aperta usando nmap, ma non la rileva e non riesco a capire perché. Ho provato varie porte senza gioia.

Ecco una copia del mio terminale in modo da poter vedere cosa sto facendo e cosa ho provato:

#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

Risposte:


18

Ho eseguito la modalità dettagliata -ve ho avuto un indizio indietro:

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

quindi ho provato a specificare una porta -pcome questa nc -lvp 4444e funziona:

listening on [any] 4444 ...

Ovviamente ho bisogno di usare -pcon -lcon questa versione di nc.

Mi piacerebbe se qualcuno potesse dirmi perché c'è questa differenza. Sto eseguendo una versione precedente? ( -hrapporti v1.10-38)


5
Esistono molte versioni diverse di Netcat (nc). La -lpsintassi è della versione originale di Hobbit, credo. Le versioni derivate da BSD vietano l'uso di -pcon -l. Molti non supportano -e. Controlla sempre la pagina man dell'installazione o l' -houtput dell'opzione.
bonsaiviking

1
Solo per soddisfare la tua domanda se stai eseguendo una vecchia versione, direi di sì. 1.89-3 azioni qui.
Tao,

1
Grazie ragazzi. Ciò spiega l'incoerenza tra il mio Linux nc (versione hobbit / debian) e il mio OS X nc (versione BSD).
Grezzo,

Probabilmente hai installato netcat-traditionalinvece di netcatonetcat-openbsd
SeMeKh,

In Debian 8.6 è necessaria una nuova installazione -p per port, e posso confermare che netcat-traditional è installato di default (verificato da apt)
George Vasiliou
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.