Kako pronaći popis svih otvorenih portova u Linuxu


U ovom ćemo članku ukratko razgovarati o lukama u računalnim mrežama i prijeći na način na koji možete navesti sve otvorene portove u Linuxu.

U računalnom umrežavanju, a točnije u softverskom smislu, port je logični entitet koji djeluje kao krajnja točka komunikacije za identificiranje dane aplikacije ili procesa na Linux operativnom sustavu. To je 16-bitni broj (0 do 65535) koji razlikuje jednu aplikaciju od druge na krajnjim sustavima.

Dva najpopularnija protokola internetskog prijevoza, Protokol kontrole prijenosa (TCP) i Korisnički protokol datagrama (UDP) te drugi manje poznati protokoli koriste brojeve porta za sesije komunikacije (brojevi izvornog i odredišnog porta u sprezi s izvornim i odredišnim IP adresama).

Uz to, kombinacija IP adrese, porta i protokola poput TCP/UDP-a poznata je kao utičnica, a svaka usluga mora imati jedinstvenu utičnicu.

Ispod su različite kategorije luka:

  1. 0-1023 - dobro poznate luke, koje se nazivaju i sistemske luke.
  2. 1024-49151 - registrirane luke, poznate i kao korisničke luke.
  3. 49152-65535 - dinamičke luke, koje se nazivaju i privatne luke.

Popis različitih aplikacija i kombinacija porta/protokola u datoteci /etc/services u Linuxu možete pogledati pomoću naredbe 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

Da bismo popisali sve otvorene portove ili luke koji se trenutno izvode, uključujući TCP i UDP u Linuxu, koristit ćemo netstat, moćan alat za praćenje mrežnih veza i statistike.

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

Gdje,

  1. -l - ispisuje samo utičnice za slušanje
  2. -n - prikazuje broj porta
  3. -t - omogućuje popis tcp portova
  4. -u - omogućuje popis udp portova

Također možete koristiti ss naredbu, dobro poznati korisni uslužni program za ispitivanje utičnica u Linux sustavu. Pokrenite naredbu u nastavku da biste popisali sve svoje otvorene TCP i UCP priključke:

$ 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  

Neka vam bude važno čitati upute za uporabu gore navedenih naredbi za više informacija o upotrebi.

Ukratko, razumijevanje koncepta porta u računalnom umrežavanju vrlo je važno za administratore sustava i mreže. Možete i proći kroz ovaj netstat vodič s jednostavnim, preciznim i dobro objašnjenim primjerima.

I na kraju, ali ne najmanje važno, kontaktirajte nas dijeljenjem drugih metoda za uvrštavanje otvorenih portova u Linux ili postavljanjem pitanja putem donjeg obrasca za odgovor.