Com esbrinar la llista de tots els ports oberts a Linux


En aquest article, parlarem breument sobre els ports a les xarxes d'ordinadors i passarem a com podeu llistar tots els ports oberts a Linux.

En xarxes d'ordinadors, i més definitivament en termes de programari, un port és una entitat lògica que actua com a punt final de comunicació per identificar una aplicació o procés determinat en un sistema operatiu Linux. És un número de 16 bits (de 0 a 65535) que diferencia una aplicació d'una altra en sistemes finals.

Els dos protocols de transport d'Internet més populars, el protocol de control de transmissió (TCP) i el protocol de datagrama d'usuari (UDP) i altres protocols menys coneguts utilitzen números de port per a les sessions de comunicació (números de port d'origen i de destinació juntament amb les adreces IP d'origen i de destinació).

A més, una combinació d'una adreça IP, port i protocol com TCP/UDP es coneix com a sòcol, i cada servei ha de tenir un sòcol únic.

A continuació es mostren les diferents categories de ports:

  1. 0-1023: els ports coneguts, també coneguts com a ports del sistema.
  2. 1024-49151: els ports registrats, també coneguts com a ports d'usuari.
  3. 49152-65535: els ports dinàmics, també coneguts com a ports privats.

Podeu veure una llista de diferents aplicacions i combinació port/protocol al fitxer /etc/services a Linux mitjançant l'ordre cat:

$ cat /etc/services 
OR
$ cat /etc/services | less
# /etc/services:
# $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2009-11-10
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
# are included, only the more common ones.
#
# The latest IANA port assignments can be gotten from
#       http://www.iana.org/assignments/port-numbers
# The Well Known Ports are those from 0 through 1023.
# The Registered Ports are those from 1024 through 49151
# The Dynamic and/or Private Ports are those from 49152 through 65535
#
# Each line describes one service, and is of the form:
#
# service-name  port/protocol  [aliases ...]   [# comment]

tcpmux          1/tcp                           # TCP port service multiplexer
tcpmux          1/udp                           # TCP port service multiplexer
rje             5/tcp                           # Remote Job Entry
rje             5/udp                           # Remote Job Entry
echo            7/tcp
echo            7/udp
discard         9/tcp           sink null
discard         9/udp           sink null
systat          11/tcp          users
systat          11/udp          users
daytime         13/tcp
daytime         13/udp
qotd            17/tcp          quote
qotd            17/udp          quote
msp             18/tcp                          # message send protocol
msp             18/udp                          # message send protocol
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
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
ssh             22/tcp                          # The Secure Shell (SSH) Protocol
ssh             22/udp                          # The Secure Shell (SSH) Protocol
telnet          23/tcp
telnet          23/udp

Per enumerar tots els ports oberts o els ports que s'executen actualment, inclosos TCP i UDP a Linux, utilitzarem netstat, és una eina poderosa per controlar les connexions de xarxa i les estadístiques.

$ netstat -lntu

Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 :::80                       :::*                        LISTEN      
tcp        0      0 :::25                       :::*                        LISTEN      
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               

On,

  1. -l: només imprimeix les preses d'escolta
  2. -n: mostra el número de port
  3. -t: activa la llista de ports tcp
  4. -u: activa la llista de ports udp

També podeu utilitzar l'ordre ss, una utilitat molt coneguda per examinar els sòcols en un sistema Linux. Executeu l'ordre següent per llistar tots els vostres ports TCP i UCP oberts:

$ ss -lntu

Netid State      Recv-Q Send-Q               Local Address:Port       Peer Address:Port 
udp   UNCONN     0      0                    *:68                     *:*     
tcp   LISTEN     0      128                  :::22                    :::*     
tcp   LISTEN     0      128                  *:22                     *:*     
tcp   LISTEN     0      50                   *:3306                   *:*     
tcp   LISTEN     0      128                  :::80                    ::*     
tcp   LISTEN     0      100                  :::25                    :::*     
tcp   LISTEN     0      100                  *:25  

Fes un punt per llegir les pàgines man de les ordres anteriors per obtenir més informació sobre l'ús.

En resum, entendre el concepte de ports a les xarxes d'ordinadors és molt vital per als administradors de sistemes i xarxes. També podeu consultar aquesta guia de netstat amb exemples senzills, precisos i ben explicats.

Finalment, però no menys important, poseu-vos en contacte amb nosaltres compartint altres mètodes per enumerar els ports oberts a Linux o fent una pregunta mitjançant el formulari de resposta següent.