3 načina da pronađete koji Linux proces sluša na portu


Port je logički entitet koji predstavlja krajnju tačku komunikacije i povezan je sa datim procesom ili uslugom u operativnom sistemu. U prethodnim člancima objasnili smo kako pronaći listu svih otvorenih portova u Linuxu i kako provjeriti da li su udaljeni portovi dostupni pomoću naredbe Netcat.

U ovom kratkom vodiču, pokazat ćemo različite načine pronalaženja procesa/servisa slušanja na određenom portu u Linuxu.

1. Korištenje naredbe netstat

netstat (mrežna statistika) komanda se koristi za prikaz informacija o mrežnim vezama, tabelama rutiranja, statistici interfejsa i dalje. Dostupan je na svim operativnim sistemima sličnim Unixu, uključujući Linux, kao i na Windows OS.

U slučaju da ga nemate standardno instaliranog, koristite sljedeću naredbu da ga instalirate.

sudo apt-get install net-tools    [On Debian/Ubuntu & Mint] 
sudo dnf install net-tools        [On CentOS/RHEL/Fedora and Rocky Linux/AlmaLinux]
pacman -S netstat-nat             [On Arch Linux]
emerge sys-apps/net-tools         [On Gentoo]
sudo dnf install net-tools        [On Fedora]
sudo zypper install net-tools     [On openSUSE]

Jednom instaliran, možete ga koristiti s naredbom grep da pronađete proces ili uslugu koja sluša na određenom portu u Linuxu na sljedeći način (navedite port).

netstat -ltnp | grep -w ':80' 

U gornjoj naredbi, zastavice.

  • l – govori netstatu da prikazuje samo utičnice za slušanje.
  • t – govori mu da prikaže tcp veze.
  • n – daje instrukcije da prikaže numeričke adrese.
  • p – omogućava prikaz ID-a procesa i naziva procesa.
  • grep -w – prikazuje podudaranje tačnog niza (:80).

Napomena: Komanda netstat je zastarjela i zamijenjena modernom ss naredbom u Linuxu.

2. Korištenje komande lsof

Naredba lsof (List Open Files) se koristi za popis svih otvorenih datoteka na Linux sistemu.

Da biste ga instalirali na svoj sistem, unesite naredbu ispod.

sudo apt-get install lsof     [On Debian, Ubuntu and Mint]
sudo yum install lsof         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/lsof  [On Gentoo Linux]
sudo pacman -S lsof           [On Arch Linux]
sudo zypper install lsof      [On OpenSUSE]    

Da biste pronašli proces/uslugu koja sluša na određenom portu, otkucajte (navedite port).

lsof -i :80

3. Korištenje komande fuser

fuser naredba pokazuje PID-ove procesa koji koriste navedene datoteke ili sisteme datoteka u Linuxu.

Možete ga instalirati na sljedeći način:

sudo apt-get install psmisc     [On Debian, Ubuntu and Mint]
sudo yum install psmisc         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/psmisc  [On Gentoo Linux]
sudo pacman -S psmisc           [On Arch Linux]
sudo zypper install psmisc      [On OpenSUSE]    

Možete pronaći proces/servis koji sluša na određenom portu tako što ćete pokrenuti naredbu ispod (navedite port).

fuser 80/tcp

Zatim pronađite naziv procesa koristeći PID broj pomoću ps komande na sljedeći način.

ps -p 2053 -o comm=
ps -p 2381 -o comm=

Također možete pogledati ove korisne vodiče o procesima u Linuxu.

To je sve! Da li znate za bilo koji drugi način pronalaženja procesa/servisa slušanja na određenom portu u Linuxu, javite nam putem obrasca za komentare ispod.