Cum să aflați lista cu toate porturile deschise în Linux


În acest articol, vom vorbi pe scurt despre porturile din rețelele de computere și vom trece la cum puteți enumera toate porturile deschise în Linux.

În rețelele de calculatoare, și mai precis în termeni software, un port este o entitate logică care acționează ca un punct final de comunicare pentru a identifica o anumită aplicație sau proces pe un sistem de operare Linux. Este un număr pe 16 biți (0 până la 65535) care diferențiază o aplicație de alta pe sistemele finale.

Cele mai populare două protocoale de transport pe internet, Transmission Control Protocol (TCP) și User Datagram Protocol (UDP) și alte protocoale mai puțin cunoscute folosesc numere de port pentru sesiunile de comunicație (numerele de port sursă și destinație împreună cu adresele IP sursă și destinație).

În plus, o combinație de adresă IP, port și protocol, cum ar fi TCP/UDP, este cunoscută ca socket și fiecare serviciu trebuie să aibă un socket unic.

Mai jos sunt diferitele categorii de porturi:

  1. 0-1023 – porturile bine cunoscute, denumite și porturi de sistem.
  2. 1024-49151 – porturile înregistrate, cunoscute și ca porturi de utilizator.
  3. 49152-65535 – porturile dinamice, denumite și porturile private.

Puteți vizualiza o listă cu diferite aplicații și combinații port/protocol în fișierul /etc/services din Linux folosind comanda 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

Pentru a enumera toate porturile deschise sau porturile care rulează în prezent, inclusiv TCP și UDP în Linux, vom folosi netstat, este un instrument puternic pentru monitorizarea conexiunilor de rețea și a statisticilor.

$ 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:*                               

Unde,

  1. -l – imprimă numai prizele de ascultare
  2. -n – arată numărul portului
  3. -t – activează listarea porturilor tcp
  4. -u – permite listarea porturilor udp

De asemenea, puteți utiliza comanda ss, un utilitar util bine cunoscut pentru examinarea socket-urilor într-un sistem Linux. Rulați comanda de mai jos pentru a lista toate porturile dvs. TCP și UCP deschise:

$ 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  

Faceți un punct pentru a citi paginile de manual ale comenzilor de mai sus pentru mai multe informații despre utilizare.

Pe scurt, înțelegerea conceptului de porturi în rețelele de calculatoare este foarte vitală pentru administratorii de sistem și de rețea. De asemenea, puteți parcurge acest ghid netstat cu exemple simple, precise și bine explicate.

Nu în ultimul rând, contactați-ne prin partajarea altor metode de a enumera porturile deschise în Linux sau punând o întrebare prin formularul de răspuns de mai jos.