3 tapaa löytää portissa kuunteleva Linux-prosessi


Portti on looginen kokonaisuus, joka edustaa viestinnän päätepistettä ja liittyy tiettyyn prosessiin tai palveluun käyttöjärjestelmässä. Aiemmissa artikkeleissa selitimme, kuinka löytää luettelo kaikista avoimista porteista Linuxissa ja kuinka tarkistaa, ovatko etäportit tavoitettavissa Netcat-komennolla.

Tässä lyhyessä oppaassa näytämme erilaisia tapoja löytää prosessin/palvelun kuuntelu tietyssä portissa Linuxissa.

1. Netstat-komennon käyttäminen

netstat (verkkotilastot) -komentoa käytetään näyttämään tietoja verkkoyhteyksistä, reititystaulukoista, käyttöliittymätilastoista ja muista. Se on saatavilla kaikissa Unix-tyyppisissä käyttöjärjestelmissä, mukaan lukien Linux ja myös Windows-käyttöjärjestelmä.

Jos sinulla ei ole sitä oletuksena asennettuna, käytä seuraavaa komentoa sen asentamiseen.

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]

Kun se on asennettu, voit käyttää sitä grep-komennon kanssa löytääksesi prosessin tai palvelun, joka kuuntelee tiettyä porttia Linuxissa seuraavasti (määritä portti).

netstat -ltnp | grep -w ':80' 

Yllä olevassa komennossa liput.

  • l – käskee netstatia näyttämään vain kuunteluliitännät.
  • t – käskee sen näyttämään tcp-yhteydet.
  • n – käskee sen näyttämään numeeriset osoitteet.
  • p – mahdollistaa prosessin tunnuksen ja prosessin nimen näyttämisen.
  • grep -w – näyttää täsmällisen merkkijonon (:80).

Huomaa: netstat-komento on vanhentunut ja korvattu nykyaikaisella ss-komennolla Linuxissa.

2. Käyttämällä lsof-komentoa

lsof-komentoa (List Open Files) käytetään luetteloimaan kaikki avoimet tiedostot Linux-järjestelmässä.

Asenna se järjestelmääsi kirjoittamalla alla oleva komento.

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]    

Jos haluat löytää prosessin/palvelun, joka kuuntelee tietyssä portissa, kirjoita (määritä portti).

lsof -i :80

3. Kiinnitysyksikön komento

fuser-komento näyttää määritettyjä tiedostoja tai tiedostojärjestelmiä käyttävien prosessien PID-tunnukset Linuxissa.

Voit asentaa sen seuraavasti:

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]    

Löydät prosessin/palvelun kuuntelun tietyssä portissa suorittamalla alla olevan komennon (määritä portti).

fuser 80/tcp

Etsi sitten prosessin nimi käyttämällä PID-numeroa ps-komennolla samalla tavalla.

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

Voit myös tutustua näihin hyödyllisiin oppaisiin prosesseista Linuxissa.

Siinä kaikki! Tiedätkö muita tapoja löytää prosessin/palvelun kuuntelu tietystä portista Linuxissa, kerro meille alla olevan kommenttilomakkeen kautta.