Havneforvaltning

Slik viser du åpne porter på Linux?

Slik viser du åpne porter på Linux?

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 skal reise til et fjernt land. Hvilken informasjon er nødvendig for å nå destinasjonen riktig? La oss si for enkelhets skyld at det trenger landet (IP-adressen) og havn skipet vil legge til kai.

I denne veiledningen, sjekk ut hvordan du viser åpne porter på Linux.

Porter på Linux

Havner fungerer som et endepunkt for kommunikasjon. Det er et 16-bits tall (0 til 65535 i desimal). Mens rekkevidden er stor, 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 på. 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 enn hvilke porter som er åpne. Derfor vil følgende avsnitt inneholde metoder for å liste opp alle portene som er i bruk for øyeblikket. I Linux er det flere verktøy tilgjengelig for oppgaven. De fleste av dem kommer innebygd i hvilken som helst Linux-distro.

Å lære hvilke porter som er åpne for øyeblikket kan være nyttig i forskjellige scenarier. Det er mulig å konfigurere en dedikert port for et bestemt program. En åpen port kan også være en sterk indikasjon på innbrudd i nettverket.

Følgende metoder er demonstrert på Ubuntu 20.04.1 LTS.

Liste protokoller og åpne porter fra / etc / services

/ Etc / services-filen inneholder informasjon om tjenestene som kjører for øyeblikket. Det er en stor fil, så klar til å bli overveldet.

$ cat / etc / services | mindre

Liste åpne porter ved hjelp av netstat

Netstat-verktøyet er et verktøy for visning av nettverkstilkoblinger for TCP, rutetabeller og forskjellige nettverksgrensesnitt. Det tilbyr også nettverksprotokollstatistikk. Ved å bruke netstat kan vi liste opp alle åpne porter i systemet.

Kjør følgende netstat-kommando:

$ netstat -atu

La oss få 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 for prosessen som bruker en port, bruk “-p” flagget:

$ netstat -lntup

Liste åpne porter ved hjelp av ss

SS-verktøyet er et verktøy for å undersøke kontakten. Bruken er lik netstat.

For å liste de åpne portene, kjør følgende ss-kommando:

$ ss -lntu

Flaggene ligner netstat. Funksjonene de beskriver er også ganske like.

Liste åpne porter ved hjelp av lsof

Kommandoen lsof er å liste å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 bestemt protokoll (TCP, UDP, etc.) definer det deretter etter “-i” -flagget, bruk:

$ lsof -i

Liste åpne porter ved hjelp av nmap

Nmap-verktøyet er et kraftig verktøy for nettverksutforskning og sikkerhet / portskanning. Den kan rapportere alle åpne porter i systemet.

For å liste de åpne TCP-portene, kjør følgende nmap-kommando. Her er IP-adressen til vertsdatamaskinen:

$ sudo nmap -sT -p- localhost

Her er det to deler av kommandoargumentet.

  • -sT: Denne delen forteller nmap å skanne etter TCP-porter.
  • -s- : Dette forteller nmap å skanne etter alle 65535 porter. Hvis den ikke brukes, vil nmap bare skanne 1000 porter som standard.

Hvis du trenger å liste opp de åpne UDP-portene, kjører du følgende nmap-kommando:

$ sudo nmap -sU -p- localhost

For å få både de åpne TCP- og UDP-portene, bruk følgende kommando:

$ sudo nmap -n -PN -sT -sU -p- localhost

Liste åpne porter ved hjelp av netcat

Netcat-verktøyet er et kommandolinjeverktøy for lesing og skriving av 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 skanner porten fra 1 til 1000. Netcat-kommandoen utfører skanningen på TCP-protokollen som standard:

$ nc -z -v localhost 1-1000

Den kan også utvides til hele listen over mulige porter:

$ nc -z -v localhost 1-65535

La oss få en rask oversikt over flaggene.

  • z: Ber om at netcat bare skal skanne etter åpne porter uten å sende data
  • v: Forteller netcat å kjøre i detaljert modus

For å få bare de åpne portene fra denne listen, filtrer du utgangen med grep for begrepet "lykkes".

$ nc -z -v localhost 0-65535 2> & 1 | grep lyktes

Hvis du vil utføre skanningen på UDP-protokollen, legger du til “-u” -flagget.

$ nc -z -v -u localhost 0-65535 2> & 1 | grep lyktes

Siste tanker

Som vist, er det mange måter å søke etter åpne porter på Linux. Jeg foreslår at du prøver alle metodene før du bestemmer deg for hvilken du skal mestre. Hvis du bruker et bestemt verktøy som netcat eller nmap regelmessig, vil mestring av de tilknyttede metodene være den mest fordelaktige.

Glad databehandling!

SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...
Kjemp om Wesnoth-opplæringen
Kampen om Wesnoth er et av de mest populære open source-strategispillene du kan spille på dette tidspunktet. Ikke bare har dette spillet vært i utvikl...
0 A.D. Opplæringen
Ut av de mange strategispillene der ute, 0 A.D. klarer å skille seg ut som en omfattende tittel og et veldig dypt, taktisk spill til tross for å være ...