Articles

Come eseguire il ping di un numero di porta di rete (TCP) per verificare se è aperto

In questo articolo descriverò alcuni modi per verificare sulla rete se una porta TCP remota su un host è aperta o meno. Questo è un metodo di risoluzione dei problemi popolare per identificare se un servizio o un’applicazione specifica è in esecuzione su un server o un computer remoto.

Come si potrebbe già sapere, quando un’applicazione o un servizio è in esecuzione su un host, ha una specifica porta TCP o UDP ad esso associato al fine di comunicare su una rete TCP / IP (i.,e affinché il servizio possa inviare e ricevere pacchetti TCP/IP sulla rete).

Ad esempio, alcuni servizi popolari (ben noti) utilizzano le seguenti porte TCP:

Se si desidera risolvere i problemi di connettività dal computer/server locale verso un host remoto, è meglio iniziare a lavorare dai livelli lower inferiori e più fino a identificare il problema.

Ad esempio, supponiamo che un server Web remoto non risponda alle richieste HTTP (ad esempio, hai avviato il browser e visitato l’URL remoto senza risposta).,

Una delle prime cose da verificare è se la porta TCP 80 o 443 del server Web remoto è aperta e raggiungibile dalla tua parte.

Se si tenta di “eseguire il ping” delle porte remote (ovvero provare a comunicare con le porte) e non si ottiene alcuna risposta, significa che il problema è sulla rete tra la fine e il server (forse un problema di firewall, problema di routing di rete ecc.).

3 Modi per “Ping” una porta remota

Per essere precisi qui, il termine “ping la porta remota” non è in realtà una dichiarazione valida., Il protocollo “Ping” utilizza in realtà pacchetti ICMP (echo, echo reply ecc.) per identificare se un host remoto è “vivo” (cioè connesso alla rete e risponde ai pacchetti ICMP).

Il protocollo ping non invia pacchetti TCP all’host remoto per identificare le porte aperte.

In questo articolo, sto solo usando il termine “ping the port” nel contesto di “poking the port” per verificare se è aperto (in ascolto) o meno.

Vediamo tre modi per verificare se una porta è aperta:

Utilizzando Telnet

Telnet è un popolare (e molto vecchio e non sicuro) protocollo per connettersi in remoto ai sistemi (e.,g per dispositivi di rete, macchine Linux, ecc).

Ha le sue origini nel 1969 (da quando è nato Internet) e fornisce un terminale basato su testo (riga di comando) per interagire con i sistemi remoti.

Per impostazione predefinita, il protocollo telnet utilizza la porta 23 per connettersi al sistema remoto. Tuttavia, è possibile specificare la porta di destinazione (remota) a cui si desidera connettersi.

Esempio:

telnet www.Google.,com 443 < – è possibile specificare quale porta per telnet (443 in questo esempio)

Come mostrato nello screenshot qui sopra, ho usato “telnet” per connettersi a www.google.com al porto 443. La risposta di Google è “Connessa”, il che significa che la porta 443 è aperta.

Ora, proviamo a “ping” (connessione) a una porta casuale (ad esempio 12345) che probabilmente è chiusa:

telnet www.Google.,com 12345

Come puoi vedere dall’alto, la porta 12345 non risponde alla nostra richiesta telnet, il che significa che è chiusa.

Usando NMAP

Ho spiegato cos’è NMAP e come usarlo negli articoli qui e qui.

Fondamentalmente con nmap è possibile inviare pacchetti TCP a specifiche porte remote e ascoltare i pacchetti di risposta per verificare se la porta è aperta o chiusa.

Usiamo nmap per vedere se la porta 53 (DNS) è in ascolto sul servizio DNS di Google (indirizzo IP 8.8.8.8)

Esempio:

:~# nmap-p 53 8.8.8.,8

Come puoi vedere dall’alto, la porta 53 (DNS) è aperta sul server remoto (8.8.8.8).

Utilizzando NetCat (“NC”)

NetCat (abbreviato in “nc”) è considerato il “coltellino svizzero” delle utility di rete. Può inviare e ricevere pacchetti TCP tra le altre funzioni utili.

Simile a Telnet, possiamo usare NC per inviare pacchetti TCP a una porta di destinazione e vedere se la porta è aperta:

Esempio:

: ~ # nc-v www.google.com 80

www.Google.,com 80 (http) apri

Assicurati di usare l’interruttore “-v” per ottenere un output dettagliato dal comando netcat. Come mostrato sopra, la porta 80 è aperta su Google.

Parole finali

Quindi ecco qui, tre modi diversi per “ping una porta” e verificare se risponde o meno. Ho usato i tre metodi sopra su un host Linux ma puoi usarli anche su macchine Windows (in particolare NMAP può essere facilmente installato anche su Windows).,

Nota: Sebbene NetCat sia un’utilità molto utile, non utilizzarlo su macchine Windows perché molto probabilmente l’Antivirus rileverà lo strumento come “dannoso”. NetCat è attivamente utilizzato dagli hacker (a causa della sua versatilità e potenti funzionalità), quindi ha ottenuto una cattiva reputazione nel settore della sicurezza.