I nettverk er en port en interessant funksjon. Det er en måte for nettverkstrafikk å identifisere destinasjonsappen eller tjenesten. Hver prosess/tjeneste får sin unike port. En port vil alltid være tilknyttet IP -adressen til verten sammen med protokollen.
Dette er en favorittmetafor av meg for å beskrive hva en port er. Se for deg et skip lastet med last, som vil reise til et fjernt land. Hvilken informasjon er nødvendig for å nå destinasjonen riktig? La oss si at det trenger landet (IP -adressen) og havn Skipet vil legge til kai.
I denne guiden, sjekk ut hvordan du lister opp åpne porter på Linux.
Porter på Linux
Porter fungerer som et sluttpunkt for kommunikasjon. Det er et 16-biters nummer (0 til 65535 i desimal). Mens rekkevidden er stort, for brukervennlighet, er porter kategorisert i tre kategorier. Hver kategori er merket som området for portverdi:
I Linux er det flere måter å sjekke de åpne portene. Som standard vil enhver port forbli stengt med mindre en app bruker den. Hvis en port er åpen, må den tilordnes en tjeneste/prosess.
Liste over åpne porter
Det er lettere å identifisere hvilke porter som er i bruk i stedet for hvilke porter som er åpne. Derfor vil følgende avsnitt inneholde metoder for å liste opp alle portene som for øyeblikket er i bruk. I Linux er det flere verktøy tilgjengelig for oppgaven. De fleste av dem kommer innebygd i en hvilken som helst Linux-distro.
Å lære hvilke porter som for øyeblikket er åpne, kan være nyttige i forskjellige scenarier. Det er mulig å konfigurere en dedikert port for en bestemt applikasjon. En åpen port kan også være en sterk indikasjon på inntrenging i nettverket.
Følgende metoder er demonstrert på Ubuntu 20.04.1 lts.
Liste protokoller og åpne porter fra /etc /tjenester
Filen /etc /tjenester inneholder informasjon om de for øyeblikket kjøretjenestene. Det er en stor fil, så klar til å bli overveldet.
$ katt /etc /tjenester | mindre
Liste opp åpne porter ved hjelp av NetStat
NetStat -verktøyet er et verktøy for å vise nettverkstilkoblinger for TCP, rutingstabeller og forskjellige nettverksgrensesnitt. Det tilbyr også nettverksprotokollstatistikk. Ved å bruke NetStat kan vi liste opp alle de åpne portene i systemet.
Kjør følgende NetStat -kommando:
$ netstat -atu
La oss ha en rask oversikt over alle flaggene vi brukte i denne kommandoen.
Her er en annen variant av NetStat -kommandoen:
$ netstat -lntu
Det er to nye flagg som brukes i kommandoen. Hva mener de?
For å vise PID i prosessen som bruker en port, bruk “-P” -flagget:
$ netstat -lntup
Liste opp åpne porter ved hjelp av SS
SS -verktøyet er et verktøy for å undersøke kontakten. Bruken ligner på Netstat.
For å liste opp de åpne portene, kjør følgende SS -kommando:
$ ss -lntu
Flaggene ligner på Netstat. Funksjonene de beskriver er også ganske like.
Liste opp åpne porter ved hjelp av LSOF
LSOF -kommandoen er å liste opp åpne filer. Imidlertid kan den også brukes til å vise de åpne portene.
Kjør følgende LSOF -kommando:
$ lsof -i
For å få de åpne portene til en spesifikk protokoll (TCP, UDP, etc.) Definer det deretter etter “-i” -flagget, bruk:
$ lsof -i
Liste opp åpne porter ved hjelp av NMAP
NMAP -verktøyet er kraftig for nettverksutforskning og sikkerhet/portskanning. Den kan rapportere alle de åpne portene i systemet.
For å liste opp de åpne TCP -portene, kjører du følgende NMAP -kommando. Her er IP -adressen til vertsdatamaskinen:
$ sudo nmap -st -p- localhost
Her er det to deler av kommandoargumentet.
Hvis du trenger å liste opp de åpne UDP -portene, kan du kjøre følgende NMAP -kommando:
$ sudo nmap -su -p- localhost
For å få både Open TCP- og UDP -portene, bruk følgende kommando:
$ sudo nmap -n -pn -st -su -p- localhost
Liste opp åpne porter ved hjelp av netcat
NetCat -verktøyet er et kommandolinjeverktøy for å lese og skrive data på tvers av nettverkstilkoblinger over TCP- og UDP -protokollene. Dette verktøyet kan også brukes til å liste opp åpne porter. Den kan utføre tester på en bestemt port eller en rekke porter.
Følgende netcat -kommando vil skanne porten fra 1 til 1000. NetCat -kommandoen vil utføre skanningen på TCP -protokollen som standard:
$ nc -z -v localhost 1-1000
Det kan også utvides til hele listen over mulige porter:
$ nc -z -v localhost 1-65535
La oss ha en rask oversikt over flaggene.
For å få bare de åpne portene fra denne listen, filtrer utgangen med grep for begrepet "lyktes".
$ nc -z -v localhost 0-65535 2> & 1 | grep lyktes
Hvis du vil utføre skanningen på UDP-protokollen, kan du legge til "-u" -flagget.
$ nc -z -v -u localhost 0-65535 2> & 1 | grep lyktes
Siste tanker
Som demonstrert er det mange måter å skanne etter åpne porter på Linux. Jeg foreslår å prøve ut alle metodene før du bestemmer hvilken du skal mestre. Hvis du bruker et bestemt verktøy som Netcat eller NMAP regelmessig, vil det være de mest fordelaktige å mestre de tilknyttede metodene.
Glad databehandling!