GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare il numero di porta di un servizio in Linux

Potrebbe essere necessario trovare spesso i nomi e i numeri delle porte per alcuni motivi. Se è così, sei fortunato. Oggi, in questo breve tutorial, vedremo i modi più semplici e veloci per trovare il numero di porta di un servizio nel sistema operativo Linux. Potrebbero esserci molti metodi per farlo, ma sono a conoscenza dei seguenti tre metodi solo al momento. Continua a leggere.

Trova il numero di porta di un servizio in Linux

Metodo 1 - Utilizzo del comando Grep:

Per trovare il numero di porta predefinito di un determinato servizio in Linux usando il comando grep, esegui semplicemente:

$ grep <port> /etc/services

Ad esempio, per trovare la porta predefinita di un servizio SSH, esegui semplicemente:

$ grep ssh /etc/services

È così semplice. Questo comando dovrebbe funzionare sulla maggior parte delle distribuzioni Linux. Ecco l'output di esempio dal mio test box di Arch Linux:

ssh 22/tcp
ssh 22/udp
ssh 22/sctp
sshell 614/tcp
sshell 614/udp
netconf-ssh 830/tcp
netconf-ssh 830/udp
sdo-ssh 3897/tcp
sdo-ssh 3897/udp
netconf-ch-ssh 4334/tcp
snmpssh 5161/tcp
snmpssh-trap 5162/tcp
tl1-ssh 6252/tcp
tl1-ssh 6252/udp
ssh-mgmt 17235/tcp
ssh-mgmt 17235/udp

Come puoi vedere nell'output sopra, il numero di porta predefinito del servizio SSH è 22.

Troviamo il numero di porta del server web Apache. Per farlo, il comando sarebbe:

$ grep http /etc/services
# http://www.iana.org/assignments/port-numbers
http 80/tcp www www-http # WorldWideWeb HTTP
http 80/udp www www-http # HyperText Transfer Protocol
http 80/sctp # HyperText Transfer Protocol
https 443/tcp # http protocol over TLS/SSL
https 443/udp # http protocol over TLS/SSL
https 443/sctp # http protocol over TLS/SSL
gss-http 488/tcp
gss-http 488/udp
webcache 8080/tcp http-alt # WWW caching service
webcache 8080/udp http-alt # WWW caching service
[...]

Che ne dici del numero di porta FTP? È facile!

$ grep ftp /etc/services
ftp-data 20/tcp
ftp-data 20/udp
# 21 is registered to ftp, but also used by fsp
ftp 21/tcp
ftp 21/udp fsp fspd
tftp 69/tcp
[...]

Metodo 2:utilizzo del comando getent

Come puoi vedere, i comandi precedenti mostrano tutti i nomi e i numeri delle porte per il termine di ricerca specificato "ssh", "http" e "ftp". Ciò significa che otterrai un output piuttosto lungo di tutti i nomi di porta che corrispondono al termine di ricerca specificato.

Puoi, tuttavia, restringere il risultato all'output esatto usando il comando "geent" come di seguito:

$ getent services ssh
ssh 22/tcp
$ getent services http
http 80/tcp www www-http
$ getent services ftp
ftp 21/tcp

Se non conosci il nome della porta ma il numero della porta, sostituisci semplicemente il nome della porta con un numero come di seguito:

$ getent services 80
http 80/tcp

Per visualizzare tutti i nomi e i numeri delle porte, esegui semplicemente:

$ getent services

Lettura consigliata:

  • Come cambiare la porta predefinita di Apache in una porta personalizzata
  • Come cambiare la porta FTP predefinita in una porta personalizzata
  • Come cambiare la porta predefinita SSH in una porta personalizzata

Metodo 3:utilizzo dell'utilità Whatportis

Il Whatportis è un semplice script Python utilizzato per trovare nomi e numeri di porta. A differenza dei comandi precedenti, questa utility mostra l'output in un bel formato di colonna tabulare.

Assicurati di aver installato il gestore di pacchetti PIP. In caso contrario, fare riferimento al seguente link.

  • Come gestire i pacchetti Python utilizzando Pip

Una volta installato PIP, eseguire il comando seguente per installare l'utilità Whatportis.

$ pip install whatportis

Ora puoi trovare quale porta è associata a un servizio come mostrato di seguito.

$ whatportis ssh
$ whatportis ftp
$ whatportis http

Esempio di output dal mio server CentOS 7:

Trova il numero di porta di un servizio in Linux

Se non conosci il nome esatto di un servizio, usa --like flag per visualizzare i risultati rilevanti.

$ whatportis mysql --like

I comandi precedenti ti hanno aiutato a trovare quale porta è associata a un servizio. Puoi anche scoprire quale servizio è associato a un numero di porta come di seguito.

$ whatportis 993

Puoi persino visualizzare i risultati in JSON formato.

$ whatportis 993 --json

Per maggiori dettagli, fai riferimento al repository GitHub.

  • Repository Whatportis GitHub

Lettura correlata:

  • Come scoprire quale servizio è in ascolto su una porta particolare

E per ora è tutto. Ora sai come trovare i nomi e i numeri delle porte in Linux usando tre semplici metodi. Se conosci altri metodi/comandi, faccelo sapere nella sezione commenti qui sotto. Controllerò e aggiornerò questa guida di conseguenza.


Linux
  1. Linux:come trovare processi utilizzando la porta seriale?

  2. Come utilizzare il comando trova di Linux per trovare i file

  3. Come trovare la dimensione del buffer del socket di Linux

  4. Come reindirizzare i risultati di "trova" a mv in Linux

  5. Come posso trovare il numero di utenti online in Linux?

Come trovare l'indirizzo IP in Linux

Come trovare il nome host in Linux

Come trovare la dimensione totale di una directory in Linux

Come trovare file con il comando fd in Linux

Come eseguire il ping di un numero di porta in Linux

Come trovare l'elenco dei repository installati in Linux