Kuinka saada selville luettelo kaikista avoimista porteista Linuxissa


Tässä artikkelissa puhumme lyhyesti tietokoneverkon porteista ja siirrymme siihen, kuinka voit luetella kaikki avoimet portit Linuxissa.

Tietokoneverkoissa ja tarkemmin sanottuna ohjelmistojen kannalta portti on looginen kokonaisuus, joka toimii viestinnän päätepisteenä tietyn sovelluksen tai prosessin tunnistamiseksi Linux-käyttöjärjestelmässä. Se on 16-bittinen numero (0 - 65535), joka erottaa sovellukset toisista loppujärjestelmissä.

Kaksi suosituinta Internet-siirtoprotokollaa, Transmission Control Protocol (TCP) ja User Datagram Protocol (UDP) ja muut vähemmän tunnetut protokollat käyttävät porttinumeroita viestintäistuntoja varten (lähde- ja kohdeporttinumerot yhdessä lähde- ja kohde-IP-osoitteiden kanssa).

Lisäksi IP-osoitteen, portin ja protokollan, kuten TCP/UDP, yhdistelmä tunnetaan socketina, ja jokaisella palvelulla on oltava yksilöllinen pistoke.

Alla on eri porttiluokat:

  1. 0-1023 – Tunnetut portit, joita kutsutaan myös järjestelmäporteiksi.
  2. 1024-49151 – rekisteröidyt portit, jotka tunnetaan myös nimellä käyttäjäportit.
  3. 49152-65535 – Dynaamiset portit, joita kutsutaan myös yksityisiksi porteiksi.

Voit tarkastella luetteloa erilaisista sovelluksista ja portti-/protokollayhdistelmistä /etc/services-tiedostossa Linuxissa käyttämällä cat-komentoa:

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

Luetteloiksemme kaikki avoimet tai käynnissä olevat portit, mukaan lukien TCP ja UDP Linuxissa, käytämme netstatia, joka on tehokas työkalu verkkoyhteyksien ja tilastojen seurantaan.

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

Missä,

  1. -l – tulostaa vain kuunteluliitännät
  2. -n – näyttää portin numeron
  3. -t – mahdollistaa tcp-porttien luetteloimisen
  4. -u – mahdollistaa udp-porttien luetteloimisen

Voit myös käyttää ss-komentoa, joka on tunnettu hyödyllinen apuohjelma pistokkeiden tutkimiseen Linux-järjestelmässä. Suorita alla oleva komento listataksesi kaikki avoimet TCP- ja UCP-portit:

$ 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  

Kannattaa lukea yllä olevien komentojen man-sivut saadaksesi lisää käyttötietoja.

Yhteenvetona voidaan todeta, että porttien käsitteen ymmärtäminen tietokoneverkoissa on erittäin tärkeää järjestelmän ja verkon ylläpitäjille. Voit myös käydä läpi tämän netstat-oppaan yksinkertaisten, tarkkojen ja hyvin selitettyjen esimerkkien avulla.

Viimeisenä mutta ei vähäisimpänä, ota meihin yhteyttä jakamalla muita tapoja listata avoimet portit Linuxissa tai esittämällä kysymys alla olevan vastauslomakkeen kautta.