Trovare il numero di porta di un servizio in Linux
Ho scoperto che nei sistemi Linux c'è il file /etc/services, che in pratica contiene una pletora di servizi specificando il numero di porta e quale protocollo usa.
E questo a prescindere che un servizio sia installato o meno.
Quindi, se volessimo sapere la porta di default di un determinato servizio, ci basta interrogare questo file.
Ad esempio:
$ grep ssh /etc/services
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
Oppure:
$ grep http /etc/services
http 80/tcp
http 80/udp
www-http 80/tcp
www-http 80/udp
http 80/sctp
http-mgmt 280/tcp
http-mgmt 280/udp
https 443/tcp
https 443/udp
https 443/sctp
gss-http 488/tcp
gss-http 488/udp
http-alt 591/tcp
http-alt 591/udp
http-rpc-epmap 593/tcp
..........................
Oppure, per ottenere lo stesso risultato, possiamo usare getent (che penso che prenda questo dato proprio da quel file):
$ getent services ssh
ssh 22/tcp
$ getent services http
http 80/tcp
Come vedete questo è più conciso.
Enjoy!
linux services getent grep
Commentami!