Come verificare se una porta è aperta per il sistema remoto (ubuntu) [chiuso]


53

È possibile verificare che se le porte sono aperte per il sistema remoto sul server Ubuntu?

Dovrei essere in grado di verificare se una porta (ad esempio: ssh) sulla mia macchina è aperta per la macchina remota.

Risposte:


73

usa un buon vecchio telnet:

[user@lappie ~]$ telnet host 22
Trying ip.adr.tld ...
Connected to host  (ip.addr.tld).
Escape character is '^]'.
SSH-2.0-OpenSSH_5.1p1 Debian-5

questo è un tentativo riuscito. Una persona senza successo dovrebbe apparire così;

[user@lappie ~]$ telnet host 23
Trying ip.adr.tld ...
telnet: connect to address ip.adr.tld: Connection refused
telnet: Unable to connect to remote host: Connection refused

o con nmap

[user@lappie ~]$ nmap host

Starting Nmap 5.21 ( http://nmap.org ) at 2010-10-07 11:25 CEST
Nmap scan report for host (ip.adr.tld)
Host is up (0.0052s latency).
rDNS record for ip.adr.tld : host.domain.tld
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
3000/tcp open  ppp
5666/tcp open  nrpe

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

Grande aiuto!. Ho sentito che sta elencando solo i numeri di porta per i quali i servizi sono in esecuzione sull'host specificato. L'ho verificato arrestando i servizi ed eseguendo nuovamente il comando nmap. quindi non ha elencato la porta che ho fermato. Mostra davvero le porte aperte per la macchina remota?
user53864

1
@ user53864: dovresti eseguire questo test su una macchina remota, ovviamente.
natxo asenjo,

2
Funzionerà solo per i servizi TCP.

L'utilizzo nmapsulla macchina aws attiva una segnalazione di abuso.
Newbee,

10

Usa NMAP. Esempio:

nmap example.com

È possibile utilizzare l'indirizzo IP al posto del nome di dominio. Ecco la documentazione completa: http://nmap.org/book/man.html


1
Elenca solo le porte su cui i servizi sono in esecuzione su un computer specificato.
user53864

Quindi lo stai usando male.
Christoffer Hammarström,

@ user53864, è corretto. Più specificamente, elencherà tutte le porte APERTE e descriverà anche quali servizi le stanno utilizzando. Se stai cercando una porta specifica, prova semplicemente "nmap example.com 22" come diceva natxo asenjo, che scansionerà la porta 22 (SSH) per vedere se è aperta.
Giosuè,

9

Questo è semplice come:

nc -zw3 domain.tld 22 && echo "opened" || echo "closed"

-w3 è il timeout


1
nc -vzw3 domain.tld 22 è più corto e potrebbe essere un po 'più informativo ...
g2mk

5

Per uno script, uso qualcosa di simile al seguente:

nmap example.com -p 22 -sV --version-all -oG - | grep -iq '22/open'

Il valore restituito ti dice se la porta è aperta!


5

Da questa risposta StackOverflow :

Sembra che tu stia cercando uno scanner di porte come nmap o netcat, entrambi disponibili per Windows, Linux e Mac OS X.

Ad esempio, controlla telnet su un ip noto:

  nmap -A 192.168.0.5/32 -p 23

Ad esempio, cerca le porte aperte da 20 a 30 su host.example.com:

  nc -z host.example.com 20-30


2

Telnet funzionerà solo per i servizi TCP, quindi se stai cercando di vedere se il tuo server DHCP (UDP / 68) è in esecuzione su un computer remoto, non funzionerà. Allo stesso modo, nmap esegue automaticamente la scansione solo delle porte TCP.

Per le porte UDP utilizzare:

nmap -sU example.com -p 68


1

Ho usato il seguente comando. Ha dato all'output quello che volevo. nmap -A IPAddressOfRemoteSystem -p portNumber es: nmap -A 192.168.1.87 -p 8080 (o) possiamo controllare anche le porte locali

prima di ciò, controlla quali sono le porte in modalità apri / ascolta usando il seguente comando.

netstat -ntlp | grep LISTEN

dopo di che

nmap -A localhost -p portNumber

e chiudi una qualsiasi porta, ad esempio se mysql è in esecuzione su 3306 puoi fermarlo,

sudo service mysql stop

e poi,

nmap -A localhost -p 3306

Spero che questo ti sia d'aiuto.

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.