logo

Sådan tjekker du åbne porte i Linux

Kort beskrevet vil vi beskrive porte inden for computernetværket, og yderligere vil vi tale om, hvordan vi kan liste alle åbne porte i Linux.

En port kan defineres som en logisk enhed i computernetværk og softwaretermer.

Det fungerer som et kommunikationsendepunkt til at identificere en given proces eller ansøgning på Linux styresystem . En havn er en 16-bit (o til 65535) nummer, der adskiller en enkelt applikation fra andre på forskellige slutsystemer.

To af de mest berømte internettransportprotokoller, UDP (User Datagram Protocol) og Transmission Control Protocol (TCP) og andre protokoller anvender portnumre til mange kommunikationssessioner (destinations- og kildeportnumre i forbindelse med destinations- og kilde-IP-adresserne).

En kombination af en protokol, port og IP-adresse som f TCP/UDP kaldes en stikkontakt. Det er nødvendigt, at alle tjenesterne har en specifik stikkontakt.

b plus træ

Kategorier af havn

Disse porte er opdelt i tre kategorier for at lette brugen, fordi udvalget af porte er stort. Alle kategorier er mærket som portværdiområdet:

0-1023: Disse havne er Kendt og ringede 'System' havne. De er forbeholdt systemets processer, der giver et stort udvalg af netværkstjenester. En proces bør have en superbrugers privilegier til binding med evt 'Kendt' Havn.

1024-49151: Disse havne er 'Registreret' og ringede til 'Bruger' havne. De er udpeget via IANA for unikke tjenester. En proces kan have godkendelse til dem efter anmodning. Det behøver ikke nogen privilegium for en superbruger for at bruge disse porte i de fleste systemer.

49152-65535: Disse havne er 'Dynamisk' og kaldte 'Privat' havne. De kan ikke registreres hos IANA. Disse typer porte er åbne til brug for tilpassede og private tjenester og kan også tildeles som de flygtige porte (kendt som kortvarig porte, der anvendes af IP) automatisk.

Der er så mange måder at kontrollere åbne porte i Linux på. Som standard lukkes en port, medmindre nogen applikation anvender den. En port skal tildeles en proces eller tjeneste, hvis den er åben.

Åbn Ports List

Det er nemmere at vide, hvilken port der er i brug i stedet for hvilken port der er åben. Derfor vil nedenstående afsnit give metoder til at angive hver port, der er i brug i øjeblikket.

Der er flere værktøjer til stede til denne opgave i Linux. De fleste af dem tilgængelige indbygget i en Linux-distribution.

At lære, hvilken port der i øjeblikket er åben, kan være nyttigt i mange scenarier. Det er muligt at bestemme en dedikeret port til en sikker anvendelse. En åben port kan være en stærk indtrængen indikation i netværket.

Metoderne bruges på Ubuntu 20.04 LTS som er nævnt nedenfor.

Liste over åbne porte og protokoller ved hjælp af filen /etc/services

Filen, dvs. /etc/services indeholder detaljer om de kørende tjenester (i øjeblikket). Det er en stor fil.

 $cat /etc/services | less 

Sådan tjekker du åbne porte i Linux

Liste over åbne porte med netstat

Det netstat værktøj kan beskrives som et værktøj til at vise netværksforbindelser til routingtabeller, TCP og flere netværksgrænseflader. Det letter også statistik over netværksprotokol. Vi kunne liste alle åbne porte i et system ved at bruge netstat-værktøjet.

Vi kan udføre nedenstående kommando:

 $ netstat -atu 

Sådan tjekker du åbne porte i Linux

Lad os hurtigt forklare opdelingen af ​​hvert flag, som vi brugte i ovenstående kommando:

1. a: Dette flag informerer netstat om visning af hver socket.

2. t: Dette flag informerer netstat om at angive TCP-porte.

3. i: Dette flag informerer netstat om at angive UDP-porte.

Det netstat kommandoen har en anden variation, som er nævnt nedenfor:

 $ netstat -lntu 

Sådan tjekker du åbne porte i Linux

To flag er nye i ovenstående kommando, som er forklaret som følger:

1. l: Dette flag informerer netstat om kun at udskrive lyttestikkene.

2. n: Dette flag informerer netstat om at vise portnummeret.

Vi kan bruge et flag, dvs. '-p' for at vise proces-PID, der bruger en hvilken som helst port.

 $ netstat -lntup 

Sådan tjekker du åbne porte i Linux

Tjek åbne porte lokalt

Netstat-kommandoen er tilgængelig på alle computeroperativsystemer til overvågning af netværksforbindelser. Nedenstående kommando anvender netstat til at vise hver lytteport med TCP-protokollen:

 netstat -lt 

Sådan tjekker du åbne porte i Linux

Lad os kort definere de flag, der er til stede i ovenstående kommando:

1. -l: Den viser lytteportene.

2. -t: Den specificerer TCP-protokollen.

Resultatet er velordnet i kolonner, der viser protokollen, menneskevenlige, sendte og modtagne pakker, porttilstand, eksterne og lokale IP-adresser.

Hvis vi ændrer TCP-protokollen til UDP-protokollen, vil output kun vise åbne porte. Resultatet vises uden at beskrive tilstanden på grund af modstrid med TCP-protokollen.

 netstat -lu 

Sådan tjekker du åbne porte i Linux

Vi kan ignorere at beskrive protokoller og kun anvende muligheden --listen eller -l for at få detaljer om hver port, der lytter frit af protokollen:

 netstat --listen 

Sådan tjekker du åbne porte i Linux

Ovenstående mulighed viser detaljerne for Unix-, UDP- og TCP-socket-protokoller.

Hvert eksempel ovenfor viser, hvordan detaljerne udskrives over lytteporte uden godkendte forbindelser. Nedenstående kommandoer viser, hvordan du viser lytteporte og autoriserede forbindelser.

 netstat -vatn 

Sådan tjekker du åbne porte i Linux

Hvor:

1. -i: Det bruges til ordlyd.

2. -a: Den viser aktive forbindelser.

3. -t: Den viser tcp-forbindelser.

mysql opdatering tilmeld dig

4. -n: Den viser porte (numerisk værdi).

Lad os sige, at vi genkender en mistænkelig proces i vores system, og vi ønsker at kontrollere relaterede porte til det. Vi kan bruge kommandoen lsof, som bruges til at liste åbne filer relateret til processer.

 lsof -i 4 -a -p 

Hvor,

1. -i: Den viser filerne, der samarbejder med internettet 6 mulighed er til stede for IPv6, og 4 option instruerer kun til udskrivning IPv4.

2. -a: Det instruerer resultatet til at være Du gav.

3. -p: Det specificerer det proces-PID-nummer, vi ønsker at kontrollere.

Liste over åbne porte med ss

Det ss værktøj kan specificeres som et hjælpeprogram til at undersøge stikket. Brugen af ​​dette værktøj er den samme som netstat kommando.

Vi kan køre nedenstående kommando for at vise de åbne porte:

 $ ss -lntu 

Sådan tjekker du åbne porte i Linux

Ovenstående flag er de samme som netstat kommando. Funktionerne, der beskrives af ss-værktøjet, er også ganske de samme.

1. l: Dette flag informerer ss om visning af lyttestik.

2. n: Dette flag informerer ss om ikke at forsøge at afslutte tjenestenavne.

3. t: Dette flag informerer ss for display TCP-stik.

4. i: Dette flag informerer ss om visning af UDP-stik.

Liste over åbne porte med lsof

Kommandoen lsof kan bruges til at vise åbne filer. Men det kan også bruges til at vise de åbne porte.

Vi kan udføre følgende kommando:

 $ lsof -i 

Sådan tjekker du åbne porte i Linux

For at få de åbne porte for en bestemt protokol (UDP, TCP osv.), skal du angive den efter brug af '-jeg' flag, kan vi udføre følgende kommando:

 $ lsof -i 

Liste over åbne porte med nmap

nmap-kommandoen kan defineres som en stærk til port/sikkerhedsscanning og netværksudforskning. Det kan også rapportere hver åben port i systemet.

Vi kan udføre følgende kommando for at vise de åbne TCP-porte.

 $ sudo nmap -sT -p- localhost 

Sådan tjekker du åbne porte i Linux

Der er to sektioner af denne kommando, som er nævnt ovenfor:

1. -st: Det informerer nmap-værktøjet til scanning TCP havne.

2. -p-: Det informerer nmap-værktøjet til at scanne hver 65535 havne. nmap-værktøjet scanner 1000 porte kun som standard, hvis de ikke bruges.

Hvis vi har brug for at liste de åbne porte i UDP, kan vi udføre følgende kommando:

 $ sudo nmap -sU -p- localhost 

Sådan tjekker du åbne porte i Linux

Vi kan også udføre følgende kommando for at få både UDP- og TCP-portene:

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

Sådan tjekker du åbne porte i Linux

Liste over åbne porte med netcat

Netcat-værktøjet kan beskrives som et kommandolinjeværktøj til at læse og skrive data på tværs af mange netværksforbindelser på UDP- og TCP-protokollerne. Det kan også bruges til at vise åbne porte. Dette værktøj kan implementere test over en bestemt port eller en række porte.

Nedenstående netcat-kommando bruges til at scanne porten fra 1-1000. Som standard implementerer den scanningen over TCP-protokollen:

 $ nc -z -v localhost 1-1000 

Sådan tjekker du åbne porte i Linux

Det kan også udvides til hele listen over visse havne:

 $ nc -z -v localhost 1-65535 

Sådan tjekker du åbne porte i Linux

Lad os få en oversigt over disse flag hurtigt.

1. fra: Den informerer netcat-kommandoen til kun at scanne åbne porte uden at overføre data.

2. i: Det informerer netcat-kommandoen om at køre i verbose mode.

streng til int konvertering i java

Vi kan filtrere resultatet ved hjælp af grep for et udtryk 'lykkedes' for kun at få de åbne porte gennem denne liste.

 $ nc -z -v 127.0.0.1 20-80 | grep succeeded 

Sådan tjekker du åbne porte i Linux

Hvis vi ønsker at implementere scanningen over UDP-protokollen, Vi kan inkludere '-i' flag.

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