å Finne PIDEN for Prosessen ved Hjelp av en Bestemt Port


Oversikt

Vi vet alle at en port kan bare brukes av et enkelt program eller en tjeneste på samme tid. Noen ganger trenger vi å vite hvilken prosess som lytter på en bestemt port.

I denne opplæringen vil vi se på ulike tilnærminger til å finne den prosess som lytter på en bestemt port på Linux.

root Tillatelse

I Linux, bare root brukeren eller den prosessen som eier kan få detaljert informasjon om prosessen.,

Når vi ønsker å sjekke en prosess som lytter på en bestemt port, vi vet ikke hvem som prosess tilhører.

Med roten tillatelse, kan vi få all nødvendig informasjon om prosessen, for eksempel, piden.

Derfor, vi kan trenge for å starte vårt nettverk verktøy med brukeren root (eller med sudo).

ved Hjelp av netstat

– kommandoen netstat er medlem av netto-verktøy-pakke.

I det siste, det er forhåndsinstallert i mange Linux-distribusjoner. Imidlertid netto-verktøy pakken ikke har blitt oppdatert siden 2011.,

på Grunn av sin mangel på støtte fra moderne Linux-kjernen-funksjoner og andre grunner, netto-verktøy-pakke har blitt foreldet.

når Det er sagt, netstat i seg selv er fortsatt mye brukt, så la oss ta en titt på hvordan det kan hjelpe.

Først av alt, la oss se på et eksempel resultatet av kommandoen netstat:

Med valg ltnup, netstat viser oss alle portene som er i bruk i ovennevnte eksempel.,

La oss ta en titt på hvilke alternativer bety:

  • l – vis bare lytte sockets
  • t – viser TCP-tilkoblinger
  • n – vis-adresser i et numerisk skjema
  • u – vis UDP-tilkoblinger
  • p – vis prosess-id/program navn

Hvis vi gjennom over utgang, den siste kolonnen er akkurat hva vi leter etter: PID og Prosessen navn som lytter på en bestemt port.

Vi kan rett og slett røret netstat-utgang til grep-kommandoen for å få behandle informasjon på en enkelt port.,

For eksempel, la oss se hvilken prosess som lytter på port 22:

root# netstat -ltnup | grep ':22'tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 575/sshd

ved Hjelp av ss

I forrige avsnitt omtalte vi at netto-verktøy pakken er ugyldig.

ss-kommando er utskifting av kommandoen netstat.

la oss Nå se hvordan å bruke ss-kommandoen for å se hvilken prosess som lytter på port 22:

Hvis vi sjekker valg, finner vi at de valg vi gikk til ss-kommandoen er den samme som vi har gått til netstat.,

Den eneste forskjellen er at vi var å gjøre bruk av state-filter av ss-verktøyet i stedet for en ekstra grep prosessen for å filtrere resultatet.

Lik resultatet av kommandoen netstat, forventet behandle informasjon som ligger i den siste kolonnen, også.

ved Hjelp av lsof

lsof kommandoen kan vise en liste over alle åpne filer i et Linux-system.,

Vi kan bruke lsof kommando for å finne prosessen ved hjelp av en bestemt port med -i :port_number alternativ:

root# lsof -i :22COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 575 root 3u IPv4 19373 0t0 TCP *:ssh (LISTEN)

De fire første kolonnene i over utgang fortelle oss prosessen navn som lytter på port 22 og dens PID, eier, og filen beskrivelse.

Vi kan sende flere -i :porten til lsof kommando for å finne ut prosesser som lytter på ulike porter:

root# lsof -i :22 -i :68COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 575 root 3u IPv4 19373 0t0 TCP *:ssh (LISTEN)dhcpcd 8822 root 10u IPv4 49601 0t0 UDP *:bootpc

ved Hjelp av fikseringsenheten

fikseringsenheten utility viser hvilke prosesser ved hjelp av navn på filer, stikkontakter, eller filsystemer., Det er inkludert i psmisc pakke og forhåndsinstallert på mange moderne Linux-distribusjoner som standard.

Vi kan bruke dette til å vise informasjon om prosesser som kjører på en bestemt port. Igjen la oss finne ut PID av behandlingen lytte TCP-port 22:

root# fuser 22/tcp22/tcp: 575

De ovennevnte utgang er ganske grei. Vi vet at prosessen med PID 575 lytter på TCP-port 22.

Imidlertid, det forteller oss ikke detaljert informasjon om prosessen, for eksempel, hva er navnet på prosessen 575? hvem som eier prosessen? og så videre.,

Hvis vi ønsker å få flere detaljer om prosessen, kan vi passerer «-v» alternativ til fikseringsenheten-kommandoen til å ha en detaljert utgang:

root# fuser -v 22/tcp USER PID ACCESS COMMAND22/tcp: root 575 F.... sshd

ved Hjelp av fikseringsenheten kommando, kan vi også sjekke kjører behandle informasjon på flere TCP-eller UDP-porter i ett bilde:

root# fuser -v 22/tcp 68/udp USER PID ACCESS COMMAND22/tcp: root 575 F.... sshd68/udp: root 8822 F.... dhcpcd

Konklusjon

I denne korte artikkelen, vi har lært fire forskjellige Linux command-line verktøy med eksempler for å finne ut informasjon om prosess som lytter på en bestemt port.,

De er alle svært kraftig verktøy å ha i vårt arsenal på Linux kommandolinje.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Hopp til verktøylinje