Sådan finder du ud af en liste over alle åbne porte i Linux


I denne artikel vil vi kort tale om porte i computernetværk og flytte til, hvordan du kan liste alle åbne porte i Linux.

I computernetværk og mere bestemt i softwaretermer er en port en logisk enhed, der fungerer som et slutpunkt for kommunikation for at identificere en given applikation eller proces på et Linux-operativsystem. Det er et 16-bit nummer (0 til 65535), der adskiller en applikation fra en anden på slutsystemer.

De to mest populære internettransportprotokoller, Transmission Control Protocol (TCP) og User Datagram Protocol (UDP) og andre mindre kendte protokoller bruger portnumre til kommunikationssessioner (kilde- og destinationsportnumre i forbindelse med kilde- og destinations-IP-adresser).

Derudover er en kombination af en IP-adresse, port og protokol såsom TCP/UDP kendt som en sokkel, og hver tjeneste skal have en unik sokkel.

Nedenfor er de forskellige kategorier af porte:

  1. 0-1023 - de kendte porte, også kaldet systemporte.
  2. 1024-49151 - de registrerede porte, også kendt som brugerporte.
  3. 49152-65535 - de dynamiske porte, også kaldet de private porte.

Du kan se en liste over forskellige applikationer og port/protokolkombination i /etc/services -filen i Linux ved hjælp af cat-kommandoen:

$ 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

For at liste alle åbne porte eller aktuelt kørende porte inklusive TCP og UDP i Linux bruger vi netstat, er et kraftfuldt værktøj til overvågning af netværksforbindelser og statistik.

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

Hvor,

  1. -l - udskriver kun lyttebøsninger
  2. -n - viser portnummer
  3. -t - muliggør en liste over tcp-porte
  4. -u - muliggør notering af udp-porte

Du kan også bruge ss-kommandoen, et velkendt nyttigt værktøj til at undersøge stikkontakter i et Linux-system. Kør kommandoen nedenfor for at liste alle dine åbne TCP- og UCP-porte:

$ 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  

Gør det til et punkt at læse gennem man-siderne i kommandoerne ovenfor for at få flere oplysninger om brugen.

Sammenfattende er det meget vigtigt for system- og netværksadministratorer at forstå begrebet porte i computernetværk. Du kan lige så godt gennemgå denne netstat-guide med enkle, præcise og godt forklarede eksempler.

Sidst men ikke mindst, kontakt os ved at dele andre metoder til notering af åbne porte i Linux eller stille et spørgsmål via svarformularen nedenfor.