Zoeken op website

Hoe u een lijst met alle open poorten in Linux kunt vinden


In dit artikel zullen we het kort hebben over poorten in computernetwerken en hoe je alle open poorten in Linux kunt weergeven.

In computernetwerken, en zekerder in softwaretermen, is een poort een logische entiteit die fungeert als eindpunt van communicatie om een bepaalde toepassing of proces op een Linux-besturingssysteem te identificeren. Het is een 16-bits getal (0 tot 65535) dat de ene applicatie van de andere op eindsystemen onderscheidt.

De twee populairste internettransportprotocollen, Transmission Control Protocol (TCP) en het User Datagram Protocol (UDP) en andere minder bekende protocollen gebruiken poortnummers voor communicatiesessies (bron- en bestemmingspoortnummers in combinatie met de bron- en bestemmings-IP-adressen).

Bovendien wordt een combinatie van een IP-adres, poort en protocol zoals TCP/UDP een socket genoemd en moet elke dienst een unieke socket hebben.

Hieronder staan de verschillende categorieën poorten:

  1. 0-1023 – de bekende poorten, ook wel systeempoorten genoemd.
  2. 1024-49151 – de geregistreerde poorten, ook wel gebruikerspoorten genoemd.
  3. 49152-65535 – de dynamische poorten, ook wel de privépoorten genoemd.

Je kunt een lijst met verschillende applicaties en poort/protocol-combinaties bekijken in het bestand /etc/services in Linux met behulp van de cat-opdracht:

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

Om alle open poorten of momenteel actieve poorten, inclusief TCP en UDP in Linux, te vermelden, gebruiken we netstat, een krachtig hulpmiddel voor het monitoren van netwerkverbindingen en statistieken.

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

Waar,

  1. -l – drukt alleen luisteraansluitingen af
  2. -n – toont poortnummer
  3. -t – maakt een lijst van TCP-poorten mogelijk
  4. -u – maakt een lijst van udp-poorten mogelijk

Je kunt ook de opdracht ss gebruiken, een bekend nuttig hulpprogramma voor het onderzoeken van sockets in een Linux-systeem. Voer de onderstaande opdracht uit om al uw open TCP- en UCP-poorten weer te geven:

$ 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  

Maak er een punt van om de manpagina's van de bovenstaande commando's door te lezen voor meer gebruiksinformatie.

Samenvattend is het begrijpen van het concept van poorten in computernetwerken van groot belang voor systeem- en netwerkbeheerders. U kunt net zo goed deze netstat-gids doornemen met eenvoudige, nauwkeurige en goed uitgelegde voorbeelden.

Last but not least: neem contact met ons op door andere methoden te delen voor het weergeven van open poorten in Linux of door een vraag te stellen via het onderstaande antwoordformulier.