Kort vil vi beskrive porter innenfor datanettverket og videre vil vi snakke om hvordan vi kan liste opp alle åpne porter i Linux.
En port kan defineres som en logisk enhet i datanettverk og programvaretermer.
Den fungerer som et kommunikasjonsendepunkt for å identifisere en gitt prosess eller applikasjon på Linux operativsystem . En port er en 16-biters (o til 65535) nummer som skiller en enkelt applikasjon fra andre på forskjellige sluttsystemer.
To av de mest kjente Internett-transportprotokollene, User Datagram Protocol (UDP) og Transmission Control Protocol (TCP) og andre protokoller bruker portnumre for mange kommunikasjonsøkter (destinasjons- og kildeportnumre i forbindelse med destinasjons- og kilde-IP-adressene).
En kombinasjon av en protokoll, port og IP-adresse som TCP/UDP kalles a stikkontakt. Det er nødvendig at alle tjenestene skal ha en spesifikk stikkontakt.
sql konkat
Kategorier av Port
Disse portene er delt inn i tre kategorier for enkel bruk fordi utvalget av porter er stort. Alle kategoriene er merket som portverdiområdet:
0-1023: Disse portene er Velkjente og ringte 'System' havner. De er reservert for prosessene i systemet som gir et stort utvalg av nettverkstjenester. En prosess bør ha rettighetene til en superbruker for binding med evt 'Velkjente' havn.
1024-49151: Disse portene er 'registrert' og ringte 'Bruker' havner. De er utpekt via IANA for unike tjenester. En prosess kan ha autentisering til dem på forespørsel. Den trenger ikke noen rettigheter til en superbruker for å bruke disse portene i de fleste systemer.
49152-65535: Disse portene er 'Dynamisk' og ringte 'Privat' havner. De kan ikke registreres hos IANA. Disse typene porter er åpne for bruk for tilpassede og private tjenester og kan også tildeles som de flyktige portene (kjent som Kortlevd porter som brukes av IP) automatisk.
Det er så mange måter å sjekke åpne porter i Linux. Som standard vil en port lukkes med mindre noen applikasjoner bruker den. En port bør tilordnes en prosess eller tjeneste hvis den er åpen.
Åpne portliste
Det er lettere å vite hvilken port som er i bruk i stedet for hvilken port som er åpen. Derfor vil delen nedenfor gi metoder for å liste opp hver port som er i bruk for øyeblikket.
Det finnes flere verktøy for denne oppgaven i Linux. De fleste av dem tilgjengelig innebygd i en Linux-distribusjon.
Å lære hvilken port som er åpen for øyeblikket kan være nyttig i mange scenarier. Det er mulig å bestemme en dedikert port for en sikker applikasjon. En åpen port kan være en sterk inntrengningsindikasjon i nettverket.
Metodene brukes på Ubuntu 20.04 LTS som er nevnt nedenfor.
List opp åpne porter og protokoller ved å bruke filen /etc/services
Filen, dvs. /etc/tjenester inneholder detaljer om de kjørende tjenestene (for øyeblikket). Det er en stor fil.
$cat /etc/services | less
Liste over åpne porter med netstat
De netstat verktøyet kan beskrives som et verktøy for å vise nettverkstilkoblinger for rutingtabeller, TCP og flere nettverksgrensesnitt. Det letter også statistikk over nettverksprotokoll. Vi kunne liste opp alle åpne porter i et system ved å bruke netstat-verktøyet.
Vi kan utføre kommandoen nedenfor:
$ netstat -atu
La oss raskt forklare nedbrytningen av hvert flagg som vi brukte i kommandoen ovenfor:
1. a: Dette flagget informerer netstat for visning av hver socket.
2. t: Dette flagget informerer netstat for oppføring av TCP-porter.
3. i: Dette flagget informerer netstat for oppføring av UDP-porter.
De netstat kommandoen har en annen variant som er nevnt nedenfor:
$ netstat -lntu
To flagg er nye i kommandoen ovenfor som er forklart som følger:
1. l: Dette flagget informerer netstat om kun å skrive ut lyttekontaktene.
2. n: Dette flagget informerer netstat for å vise portnummeret.
Vi kan bruke et flagg, dvs. '-p' for å vise prosess-PID-en som bruker en hvilken som helst port.
$ netstat -lntup
Sjekk åpne porter lokalt
Netstat-kommandoen er tilgjengelig på alle datamaskinoperativsystemer for å overvåke nettverkstilkoblinger. Kommandoen nedenfor bruker netstat for å vise hver lytteport med TCP-protokollen:
netstat -lt
La oss kort definere flaggene som er til stede i kommandoen ovenfor:
1. -l: Den viser lytteportene.
2. -t: Den spesifiserer TCP-protokollen.
Resultatet er godt sortert i kolonner som viser protokollen, menneskevennlige, sendte og mottatte pakker, portstatus, eksterne og lokale IP-adresser.
Hvis vi endrer TCP-protokollen for UDP-protokollen, vil utgangen kun vise åpne porter. Resultatet vil vises uten å beskrive tilstanden på grunn av motsetning til TCP-protokollen.
netstat -lu
Vi kan ignorere å beskrive protokoller og bruke bare alternativet --listen eller -l for å få detaljer om hver port som lytter fritt av protokollen:
netstat --listen
Alternativet ovenfor vil vise detaljene for Unix-, UDP- og TCP-socket-protokoller.
Hvert eksempel ovenfor viser hvordan du skriver ut detaljene over lytteporter uten autoriserte tilkoblinger. Kommandoene nedenfor viser hvordan du viser lytteporter og autoriserte tilkoblinger.
netstat -vatn
Hvor:
1. -i: Det brukes for ordlyd.
2. -a: Den viser aktive tilkoblinger.
3. -t: Den viser tcp-tilkoblinger.
groovy språk
4. -n: Den viser porter (numerisk verdi).
La oss si at vi gjenkjenner en mistenkelig prosess i systemet vårt, og vi ønsker å sjekke relaterte porter til det. Vi kan bruke lsof-kommandoen som brukes til å liste åpne filer relatert til prosesser.
lsof -i 4 -a -p
Hvor,
1. -i: Den viser filene som samarbeider med Internett 6 alternativet er tilstede for IPv6, og 4 alternativet instruerer kun for utskrift IPv4.
2. -a: Det instruerer at resultatet skal være Du gav.
3. -p: Den spesifiserer prosessens PID-nummer vi ønsker å sjekke.
List opp åpne porter med ss
De ss verktøyet kan spesifiseres som et verktøy for å undersøke stikkontakten. Bruken av dette verktøyet er den samme som netstat kommando.
Vi kan kjøre kommandoen nedenfor for å liste opp de åpne portene:
$ ss -lntu
Flaggene ovenfor er de samme som netstat kommando. Funksjonene som beskrives av ss-verktøyet er også ganske de samme.
1. l: Dette flagget informerer ss for visning av lyttekontaktene.
2. n: Dette flagget informerer ss om ikke å forsøke å konkludere med tjenestenavn.
3. t: Dette flagget informerer ss for display TCP-kontakter.
4. i: Dette flagget informerer ss for visning av UDP-sockets.
Liste over åpne porter med lsof
lsof-kommandoen kan brukes til å liste åpne filer. Men den kan brukes til å vise de åpne portene også.
Vi kan utføre følgende kommando:
$ lsof -i
For å få de åpne portene til en bestemt protokoll (UDP, TCP, etc.), spesifiser den etter bruk av '-Jeg' flagg, kan vi utføre følgende kommando:
$ lsof -i
Liste over åpne porter med nmap
nmap-kommandoen kan defineres som en sterk for port/sikkerhetsskanning og nettverksutforskning. Den kan også rapportere hver åpne port i systemet.
Vi kan utføre følgende kommando for å liste opp de åpne TCP-portene.
$ sudo nmap -sT -p- localhost
Det er to deler av denne kommandoen som er nevnt ovenfor:
1. -st: Det informerer nmap-verktøyet for skanning TCP havner.
2. -p-: Den informerer nmap-verktøyet for å skanne hver 65535 havner. nmap-verktøyet vil skanne 1000 porter bare som standard hvis de ikke brukes.
Hvis vi trenger å liste opp de åpne portene til UDP, kan vi utføre følgende kommando:
$ sudo nmap -sU -p- localhost
Vi kan også utføre følgende kommando for å få både UDP- og TCP-portene:
$ sudo nmap -n -PN -sT -sU -p- localhost
List opp åpne porter med netcat
Netcat-verktøyet kan beskrives som et kommandolinjeverktøy for å lese og skrive data på tvers av mange nettverkstilkoblinger på UDP- og TCP-protokollene. Den kan også brukes til å liste åpne porter. Dette verktøyet kan implementere tester over en bestemt port eller en rekke porter.
Netcat-kommandoen nedenfor brukes til å skanne porten fra 1-1000. Som standard vil den implementere skanningen over TCP-protokollen:
$ nc -z -v localhost 1-1000
Den kan også utvides til hele listen over visse porter:
$ nc -z -v localhost 1-65535
La oss få en oversikt over disse flaggene raskt.
1. fra: Den informerer netcat-kommandoen for kun å skanne åpne porter, uten å overføre data.
2. i: Den informerer netcat-kommandoen for å kjøre i detaljert modus.
hvilke måneder er i 3. kvartal
Vi kan filtrere resultatet ved hjelp av grep for en term 'lykket' for å få bare de åpne portene gjennom denne listen.
$ nc -z -v 127.0.0.1 20-80 | grep succeeded
Hvis vi ønsker å implementere skanningen over UDP-protokollen, Vi kan inkludere '-i' flagg.
$ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded