Hamnförvaltning

Hur man listar öppna portar på Linux?

Hur man listar öppna portar på Linux?

I nätverk är en port en intressant funktion. Det är ett sätt för nätverkstrafik att identifiera målappen eller tjänsten. Varje process / tjänst får sin unika port. En port kommer alltid att associeras med värdens IP-adress tillsammans med protokollet.

Detta är min favoritmetafor för att beskriva vad en port är. Föreställ dig ett fartyg lastat med last som kommer att resa till ett avlägset land. Vilken information behövs för att nå destinationen ordentligt? För enkelhetens skull, låt oss säga att det behöver landet (IP-adressen) och hamn skeppet kommer att docka.

I den här guiden, kolla in hur du listar öppna portar på Linux.

Portar på Linux

Hamnar fungerar som en slutpunkt för kommunikation. Det är ett 16-bitarsnummer (0 till 65535 i decimal). Medan utbudet är stort, för att underlätta användningen, delas portarna in i tre kategorier. Varje kategori är märkt som intervall för portvärde:

I Linux finns det flera sätt att kontrollera de öppna portarna. Som standard förblir en port stängd såvida inte en app använder den. Om en port är öppen måste den tilldelas en tjänst / process.

Lista öppna portar

Det är lättare att identifiera vilka portar som används snarare än vilka portar som är öppna. Därför kommer följande avsnitt att innehålla metoder för att lista alla portar som för närvarande används. I Linux finns det flera verktyg tillgängliga för uppgiften. De flesta av dem kommer inbyggda i alla Linux-distroer.

Att lära sig vilka portar som för närvarande är öppna kan vara användbart i olika scenarier. Det är möjligt att konfigurera en dedikerad port för en viss applikation. En öppen port kan också vara en stark indikation på intrång i nätverket.

Följande metoder visas på Ubuntu 20.04.1 LTS.

Lista protokoll och öppna portar från / etc / services

/ Etc / services-filen innehåller information om de tjänster som för närvarande körs. Det är en stor fil, så redo att bli överväldigad.

$ cat / etc / services | mindre

Lista öppna portar med hjälp av netstat

Netstat-verktyget är ett verktyg för att visa nätverksanslutningar för TCP, routingtabeller och olika nätverksgränssnitt. Det erbjuder också nätverksprotokollstatistik. Genom att använda netstat kan vi lista alla öppna portar i systemet.

Kör följande netstat-kommando:

$ netstat -atu

Låt oss få en snabb uppdelning av alla flaggor som vi använde i det här kommandot.

Här är en annan variant av netstat-kommandot:

$ netstat -lntu

Det finns två nya flaggor som används i kommandot. Vad menar dem?

För att visa PID för processen som använder en port, använd flaggan “-p”:

$ netstat -lntup

Lista öppna portar med hjälp av ss

SS-verktyget är ett verktyg för att undersöka sockeln. Dess användning liknar netstat.

För att lista de öppna portarna, kör följande ss-kommando:

$ ss -lntu

Flaggorna liknar netstat. De funktioner de beskriver är också ganska lika.

Lista öppna portar med lsof

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

Kör följande lsof-kommando:

$ lsof -i

För att få de öppna portarna i ett specifikt protokoll (TCP, UDP, etc.) definiera det sedan efter “-i” -flaggan, använd:

$ lsof -i

Lista öppna portar med hjälp av nmap

Nmap-verktyget är ett kraftfullt verktyg för nätverksutforskning och säkerhet / portavsökning. Den kan rapportera alla öppna portar i systemet.

För att lista de öppna TCP-portarna, kör följande nmap-kommando. Här är IP-adressen till värddatorn:

$ sudo nmap -sT -p- localhost

Här finns två delar av kommandoargumentet.

  • -sT: Detta avsnitt ber nmap att söka efter TCP-portar.
  • -sid- : Detta berättar för nmap att söka efter alla 65535-portar. Om den inte används skannar nmap endast 1000 portar som standard.

Om du behöver lista de öppna UDP-portarna, kör sedan följande nmap-kommando:

$ sudo nmap -sU -p- localhost

För att få både de öppna TCP- och UDP-portarna, använd följande kommando:

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

Lista öppna portar med hjälp av netcat

Netcat-verktyget är ett kommandoradsverktyg för läsning och skrivning av data över nätverksanslutningar via TCP- och UDP-protokollet. Detta verktyg kan också användas för att lista öppna portar. Det kan utföra tester på en viss port eller ett antal portar.

Följande netcat-kommando skannar porten från 1 till 1000. Netcat-kommandot utför som standard skanningen på TCP-protokollet:

$ nc -z -v localhost 1-1000

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

$ nc -z -v localhost 1-65535

Låt oss få en snabb uppdelning av flaggorna.

  • z: Säger att netcat bara ska söka efter öppna portar utan att skicka data
  • v: Berättar att netcat ska köras i ett ordentligt läge

För att bara få de öppna portarna från den här listan, filtrera utdata med grep för termen "lyckades".

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

Om du vill utföra skanningen på UDP-protokollet, lägg till "-u" -flaggan.

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

Slutgiltiga tankar

Som visat finns det massor av sätt att söka efter öppna portar på Linux. Jag föreslår att du testar alla metoder innan du bestämmer vilken du ska behärska. Om du använder ett visst verktyg som netcat eller nmap regelbundet, är det mest fördelaktigt att behärska tillhörande metoder.

Happy computing!

Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...
Mus Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Muspekaren och markören i Windows 10 är mycket viktiga aspekter av operativsystemet. Detta kan också sägas för andra operativsystem, så i sanning är d...
Gratis och öppen källkodsmotorer för utveckling av Linux-spel
Den här artikeln kommer att täcka en lista över gratis motorer med öppen källkod som kan användas för att utveckla 2D- och 3D-spel på Linux. Det finns...