logo

Hur man kontrollerar öppna portar i Linux

Kortfattat kommer vi att beskriva portar inom datornätverk och vidare kommer vi att prata om hur vi kan lista alla öppna portar i Linux.

En port kan definieras som en logisk enhet i datornätverk och mjukvarutermer.

Det fungerar som en kommunikationsslutpunkt för att identifiera en given process eller applikation på Linux operativsystem . En hamn är en 16-bitars (o till 65535) nummer som skiljer en enskild applikation från andra på olika slutsystem.

Två av de mest kända internettransportprotokollen, User Datagram Protocol (UDP) och Transmission Control Protocol (TCP) och andra protokoll tillämpar portnummer för många kommunikationssessioner (destinations- och källportnummer i kombination med destinations- och käll-IP-adresser).

En kombination av ett protokoll, port och IP-adress som TCP/UDP kallas a uttag. Det är nödvändigt att alla tjänster har ett specifikt uttag.

konvertera en int till sträng c++

Kategorier av hamn

Dessa portar är indelade i tre kategorier för enkel användning eftersom utbudet av portar är stort. Alla kategorier är märkta som portvärdeintervall:

0-1023: Dessa hamnar är välkänd och ringde 'Systemet' hamnar. De är reserverade för processerna i systemet som tillhandahåller ett stort utbud av nätverkstjänster. En process bör ha en superanvändares privilegier för att binda med någon 'Välkänd' hamn.

1024-49151: Dessa hamnar är 'Registrerad' och ringde till 'Användare' hamnar. De är utsedda via IANA för unika tjänster. En process kan ha autentisering till dem på begäran. Det behöver inte någon superanvändares behörighet för att använda dessa portar i de flesta systemfall.

49152-65535: Dessa hamnar är 'Dynamisk' och ringde till 'Privat' hamnar. De kan inte registreras hos IANA. Dessa typer av portar är öppna för användning för skräddarsydda och privata tjänster och kan också tilldelas som tillfälliga portar (känd som kortlivad portar som appliceras av IP) automatiskt.

Det finns så många sätt att kontrollera öppna portar i Linux. Som standard stängs en port om inte något program tillämpar den. En port bör tilldelas en process eller tjänst om den är öppen.

Öppna portlistan

Det är lättare att veta vilken port som används istället för vilken port som är öppen. Därför kommer avsnittet nedan att tillhandahålla metoder för att lista alla portar som används för närvarande.

Det finns flera verktyg för denna uppgift i Linux. De flesta av dem tillgängliga inbyggt i en Linux-distribution.

Att lära sig vilken port som för närvarande är öppen kan vara till hjälp i många scenarier. Det är möjligt att bestämma en dedikerad port för en säker applikation. En öppen port kan vara en stark intrångsindikation inom nätverket.

Metoderna används på Ubuntu 20.04 LTS som nämns nedan.

Lista öppna portar och protokoll med hjälp av filen /etc/services

Filen, dvs. /etc/services innehåller information om de tjänster som körs (för närvarande). Det är en stor fil.

 $cat /etc/services | less 

Hur man kontrollerar öppna portar i Linux

Lista öppna portar med netstat

De netstat Verktyget kan beskrivas som ett verktyg för att visa nätverksanslutningar för routingtabeller, TCP och flera nätverksgränssnitt. Dessutom underlättar det statistik över nätverksprotokoll. Vi skulle kunna lista alla öppna portar i ett system genom att använda netstat-verktyget.

Vi kan utföra följande kommando:

 $ netstat -atu 

Hur man kontrollerar öppna portar i Linux

Låt oss snabbt förklara uppdelningen av varje flagga som vi använde i kommandot ovan:

1. a: Denna flagga informerar netstat för att visa varje uttag.

2. t: Denna flagga informerar netstat för listning av TCP-portar.

3. i: Denna flagga informerar netstat för listning av UDP-portar.

De netstat kommandot har en annan variant som nämns nedan:

 $ netstat -lntu 

Hur man kontrollerar öppna portar i Linux

Två flaggor är nya i kommandot ovan som förklaras enligt följande:

1. l: Denna flagga informerar netstat för att endast skriva ut lyssningsuttagen.

2. n: Denna flagga informerar netstat för att visa portnumret.

Vi kan använda en flagga, dvs. '-p' för att visa process-PID som använder valfri port.

 $ netstat -lntup 

Hur man kontrollerar öppna portar i Linux

Kontrollera öppna portar lokalt

Kommandot netstat är tillgängligt på alla datoroperativsystem för att övervaka nätverksanslutningar. Kommandot nedan tillämpar netstat för att visa varje lyssningsport med TCP-protokollet:

 netstat -lt 

Hur man kontrollerar öppna portar i Linux

Låt oss kortfattat definiera flaggorna som finns i kommandot ovan:

1. -l: Den listar lyssningsportarna.

2. -t: Den anger TCP-protokollet.

Resultatet är välordnat i kolumner som visar protokollet, människovänliga, skickade och mottagna paket, portstatus, fjärr- och lokala IP-adresser.

Om vi ​​ändrar TCP-protokollet för UDP-protokollet kommer utdata endast att visa öppna portar. Resultatet kommer att visas utan att beskriva tillståndet på grund av motsägelse till TCP-protokollet.

 netstat -lu 

Hur man kontrollerar öppna portar i Linux

Vi kan ignorera att beskriva protokoll och använda endast alternativet --lyssna eller -l för att få detaljer om varje port som lyssnar fritt av protokollet:

 netstat --listen 

Hur man kontrollerar öppna portar i Linux

Alternativet ovan visar detaljerna för Unix-, UDP- och TCP-socketprotokollen.

Varje exempel ovan visar hur man skriver ut detaljerna över lyssningsportar utan auktoriserade anslutningar. Kommandon nedan visar hur man visar lyssningsportar och auktoriserade anslutningar.

 netstat -vatn 

Hur man kontrollerar öppna portar i Linux

Var:

1. -in: Det används för mångfald.

2. -a: Den visar aktiva anslutningar.

3. -t: Den visar tcp-anslutningar.

4. -n: Den visar portar (numeriskt värde).

Ersätt alla

Låt oss säga att vi känner igen en misstänkt process i vårt system och vi vill kontrollera relaterade portar till det. Vi kan använda kommandot lsof som används för att lista öppna filer relaterade till processer.

 lsof -i 4 -a -p 

Var,

1. -i: Den listar filerna som samarbetar med Internet 6 alternativet finns för IPv6, och den 4 alternativinstruktioner endast för utskrift IPv4.

2. -a: Det instruerar resultatet att bli Du gav.

3. -p: Den specificerar process-PID-numret vi vill kontrollera.

Lista öppna portar med ss

De ss verktyg kan specificeras som ett verktyg för att undersöka sockeln. Användningen av detta verktyg är densamma som netstat kommando.

Vi kan köra kommandot nedan för att lista de öppna portarna:

 $ ss -lntu 

Hur man kontrollerar öppna portar i Linux

Ovanstående flaggor är desamma som netstat kommando. Funktionerna som beskrivs av ss-verktyget är också ganska desamma.

1. l: Denna flagga informerar ss för visning av lyssningsuttagen.

2. n: Denna flagga informerar ss att inte försöka avsluta tjänstnamn.

3. t: Denna flagga informerar ss för display TCP-uttag.

4. i: Denna flagga informerar ss för visning av UDP-sockets.

Lista öppna portar med lsof

Kommandot lsof kan användas för att lista öppna filer. Men den kan användas för att visa de öppna portarna också.

Vi kan köra följande kommando:

 $ lsof -i 

Hur man kontrollerar öppna portar i Linux

För att få de öppna portarna för ett visst protokoll (UDP, TCP, etc.) anger du det efter att du har använt '-jag' flagga, kan vi köra följande kommando:

 $ lsof -i 

Lista öppna portar med nmap

Kommandot nmap kan definieras som ett starkt kommando för port/säkerhetsskanning och nätverksutforskning. Den kan också rapportera varje öppen port i systemet.

Vi kan utföra följande kommando för att lista de öppna TCP-portarna.

 $ sudo nmap -sT -p- localhost 

Hur man kontrollerar öppna portar i Linux

Det finns två sektioner av detta kommando som nämns ovan:

1. -st: Det informerar nmap-verktyget för skanning TCP hamnar.

2. -p-: Det informerar nmap-verktyget för att skanna varje 65535 hamnar. Verktyget nmap kommer att skanna 1000 portar endast som standard om de inte används.

Om vi ​​behöver lista de öppna portarna för UDP, kan vi utföra följande kommando:

 $ sudo nmap -sU -p- localhost 

Hur man kontrollerar öppna portar i Linux

Vi kan också köra följande kommando för att få både UDP- och TCP-portarna:

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

Hur man kontrollerar öppna portar i Linux

Lista öppna portar med netcat

Netcat-verktyget kan beskrivas som ett kommandoradsverktyg för att läsa och skriva data över många nätverksanslutningar på UDP- och TCP-protokollen. Den kan också användas för att lista öppna portar. Detta verktyg kan implementera tester över en viss port eller en mängd olika portar.

Nedanstående netcat-kommando används för att skanna porten från 1-1000. Som standard kommer den att implementera genomsökningen över TCP-protokollet:

 $ nc -z -v localhost 1-1000 

Hur man kontrollerar öppna portar i Linux

Det kan också utökas till hela listan över vissa portar:

 $ nc -z -v localhost 1-65535 

Hur man kontrollerar öppna portar i Linux

Låt oss få en uppdelning av dessa flaggor snabbt.

1. från: Den informerar netcat-kommandot för att endast skanna öppna portar, utan att överföra några data.

2. i: Det informerar netcat-kommandot för att köra i verbose läge.

strängjämföra i java

Vi kan filtrera resultatet med hjälp av grep för en term 'lyckades' för att bara få de öppna portarna genom den här listan.

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

Hur man kontrollerar öppna portar i Linux

Om vi ​​vill implementera skanningen över UDP-protokollet, Vi kan inkludera '-i' flagga.

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