V tomto článku si stručně pohovoříme o portech v počítačových sítích a přejdeme k tomu, jak můžete vypsat všechny otevřené porty v Linuxu.
V počítačových sítích a konkrétněji v softwarovém pojetí je port logická entita, která funguje jako koncový bod komunikace k identifikaci dané aplikace nebo procesu v operačním systému Linux. Je to 16bitové číslo (0 na 65535 ), který odlišuje jednu aplikaci od druhé na koncových systémech.
Dva nejpopulárnější internetové přenosové protokoly, Transmission Control Protocol (TCP ) a Protokol uživatelských datagramů (UDP ) a další méně známé protokoly používají čísla portů pro komunikační relace (čísla zdrojových a cílových portů ve spojení se zdrojovou a cílovou IP adresou).
Navíc kombinace IP adresy, portu a protokolu, jako je TCP/UDP je známý jako soket a každá služba musí mít jedinečný soket.
Níže jsou uvedeny různé kategorie portů:
- 0–1023 – dobře známé porty, také označované jako systémové porty.
- 1024-49151 – Registrované porty, známé také jako uživatelské porty.
- 49152-65535 – dynamické porty, označované také jako soukromé porty.
Seznam různých aplikací a kombinace port/protokol si můžete prohlédnout v /etc/services
soubor v Linuxu pomocí příkazu cat:
$ cat /etc/services OR $ cat /etc/services | lessSíťové služby a porty
# /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
Zobrazí seznam všech otevřených nebo aktuálně spuštěných portů včetně TCP a UDP v Linuxu budeme používat netstat, je mocný nástroj pro sledování síťových připojení a statistiky.
Vypsat všechny síťové porty pomocí příkazu Netstat$ 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:*
Kde,
-l
– tiskne pouze naslouchající zásuvky-n
– zobrazuje číslo portu-t
– umožňuje výpis tcp portů-u
– umožňuje výpis portů udp
Můžete také použít ss command, dobře známý užitečný nástroj pro zkoumání soketů v systému Linux. Spuštěním níže uvedeného příkazu zobrazíte seznam všech otevřených portů TCP a UCP:
Vypsat všechny síťové porty pomocí příkazu ss$ 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
Dejte si záležet na přečtení manuálových stránek výše uvedených příkazů, kde najdete další informace o použití.
Stručně řečeno, pochopení konceptu portů v počítačových sítích je velmi důležité pro systémové a síťové administrátory. Můžete si také projít tohoto průvodce netstat s jednoduchými, přesnými a dobře vysvětlenými příklady.
V neposlední řadě nás kontaktujte sdílením dalších metod pro výpis otevřených portů v Linuxu nebo položením otázky prostřednictvím formuláře odpovědi níže.