Hostwinds Blog

Zoekresultaten voor:


5 manieren om open poorten op Linux te controleren Uitgelichte afbeelding

5 manieren om open poorten op Linux te controleren

door: Hostwinds Team  /  januari- 14, 2025


Poorten zijn als deuropeningen waarmee apps en programma's op uw Linux -systeem gegevens kunnen verzenden en ontvangen.Als u wilt zien welke poorten in gebruik zijn, welke open zijn, of gewoon uitzoeken wat er aan de hand is met uw netwerk, bent u aan het juiste punt gekomen.

In deze gids lopen we door meerdere manieren om poorten in Linux te controleren met behulp van eenvoudige opdrachten.Tegen het einde voel je je comfortabeler om met poorten te werken en te weten wat er op je systeem gebeurt.

Wat zijn poorten?

Voordat we in de bevelen springen, laten we even de tijd nemen om te begrijpen wat poorten zijn:

  • Poorten zijn nummers die specifieke programma's of apps op uw computer identificeren.Bijvoorbeeld:
    • Webserverpoorten worden meestal gebruikt Poort 80 (Http) of Poort 443 (Https).
    • Logins op afstand via SSH gebruiken meestal Poort 22.
  • Elke poort heeft een nummer tussen 0 en 65535, die in drie hoofdgroepen vallen:
    • 0–1023: Gereserveerd voor gemeenschappelijke protocollen zoals HTTP en FTP.
    • 1024–49151: Voor toepassingen die u installeert.
    • 49152–65535: Tijdelijke poorten die worden gebruikt wanneer apps verbinding maken met een service.

Met dat uit de weg, laten we onderzoeken hoe we kunnen controleren wat er met uw poorten gebeurt.

Hoe u poorten in Linux kunt controleren

Linux heeft een aantal tools om u te helpen openen of luisterpoorten te controleren.Hieronder lopen we door vijf gemeenschappelijke methoden en leggen ze uit wat elk doet.

1. Gebruik netstat

De opdracht NetStat geeft u een gedetailleerde weergave van netwerkverbindingen en poortgebruik.

Open een terminal en type:

netstat -tuln

Dit is wat elke optie betekent:

  • -T: Toon TCP (transmissie -besturingsprotocol) poorten.
  • -u: Toon UDP (User Datagram Protocol) Poorten.
  • -l: Toon alleen poorten die actief luisteren.
  • -N: Namen van het vertaalprogramma (bijvoorbeeld "SSH") overslaan in poortnummers, waardoor het sneller wordt.

Wat je zult zien:

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:*

Hier is hoe u dit leest:

  • Proto: Laat zien of het TCP of UDP is.
  • Lokaal adres: Het IP van uw machine en de poort in gebruik.
  • Buitenlands adres: De IP en de poort van de andere machine (of* als deze open is voor iedereen).
  • Staat: Voor TCP betekent luisteren dat het wacht op verbindingen.

Snelle opmerking: NetStat maakt deel uit van het Net-Tools-pakket, dat mogelijk niet vooraf is geïnstalleerd op nieuwere Linux-versies.Installeer het met:

sudo apt install net-tools  # On Debian/Ubuntu  
sudo yum install net-tools  # On RHEL/CentOS 

2. Gebruik SS

ss is een nieuwer, sneller alternatief voor netstat.Het geeft vergelijkbare informatie maar werkt beter op moderne systemen.

Voer de volgende opdracht uit:

ss -tuln

De opties zijn hetzelfde als NetStat, dus je zou meteen moeten kunnen springen.

Wat je zult zien:

Netid   State      Recv-Q Send-Q Local Address:Port           Peer Address:Port
tcp     LISTEN     0      128    0.0.0.0:22                  0.0.0.0:*         
udp     UNCONN     0      0      0.0.0.0:68                  0.0.0.0:*

Deze output is vergelijkbaar met NetStat, maar ss is meestal sneller, vooral als u met veel verbindingen te maken hebt.

3. LSOF gebruiken

lsof (Lijst Open bestanden) is een handig hulpmiddel om te zien welke bestanden of netwerkverbindingen door processen worden gebruikt.

Voer uit om te zien welke poorten open zijn en wat ze gebruiken:

sudo lsof -i -P -n
  • -i: Filters voor netwerkgerelateerde bestanden.
  • -P: Toont onbewerkte poortnummers in plaats van servicenamen.
  • -N: Slaat het vertalen van IP -adressen over naar hostnamen voor snelheid.

Wat je zult zien:

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd      1234 root   3u  IPv4  12345      0t0  TCP *:22 (LISTEN)
dhclient  5678 root   6u  IPv4  54321      0t0  UDP *:68
  • COMMANDO: Het programma met behulp van de poort.
  • Pid: De proces -ID.
  • NAAM: De poort en protocol (bijv. TCP op poort 22).

Waarom het handig is:

Als u problemen oplossen en moet uitzoeken welk proces een specifieke poort gebruikt, lsof is uw go-to-tool.

4. NMAP gebruiken

nmap (Network Mapper) is ideaal voor het scannen van netwerken en controleren welke poorten open zijn.

Om alle poorten te scannen, rennen:

sudo nmap -sT -p- localhost
  • -t: Voert een TCP Connect -scan uit.
  • -P-: Scant alle 65.535 poorten.

Wat je zult zien:

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
  • HAVEN: Het poortnummer en het protocol (TCP of UDP).
  • STAAT: Vertelt u of de poort open, gesloten of gefilterd is (geblokkeerd door een firewall).
  • ONDERHOUD: De gemeenschappelijke naam van de service met behulp van de poort.

Waarom NMAP nuttig is:

nmap is geweldig als u een volledig beeld wilt van alle open poorten op uw systeem of een andere machine moet scannen.

5. Gebruik van NC (NetCat)

Netcat is een eenvoudig maar krachtig hulpmiddel om te controleren of een specifieke poort open is.

Typ: om te controleren of poort 22 is geopend:

nc -zv localhost 22
  • -z: Scant gewoon op open poorten zonder gegevens te verzenden.
  • -v: Toon gedetailleerde uitvoer.

Wat je zult zien:

Connection to localhost 22 port [tcp/ssh] succeeded!

Waarom het handig is:

Als u gewoon snel moet controleren of een specifieke poort open is, NC doet het werk zonder veel gedoe.

Het begrijpen van de resultaten

Wanneer u poorten controleert, betekent dit wat de resultaten meestal betekenen:

  • Luisteren/open poorten: Deze poorten zijn klaar om verbindingen te accepteren.Een webserver luistert bijvoorbeeld op poort 80 of 443.
  • Gesloten poorten: Deze poorten zijn niet in gebruik, dus ze accepteren geen verbindingen.
  • Gefilterde poorten: Deze poorten worden geblokkeerd door een firewall- of beveiligingsregel, zodat ze onzichtbaar lijken.

Veel voorkomende scenario's

Bij het controleren van poorten kunt u de volgende scenario's tegenkomen:

  • Je ziet een open poort die je niet had verwacht: Dit kan betekenen dat er een programma wordt uitgevoerd dat u niet nodig hebt of herkent.Het is een goed idee om verder te onderzoeken.
  • Een poort die u nodig heeft, is gesloten: Het programma is mogelijk niet actief, of een firewall zou het kunnen blokkeren.

Uw systeem beveiligen

Het controleren van poorten is slechts de eerste stap.Hier zijn een paar manieren om dingen op te ruimen:

Stop onnodige programma's:
Als een programma op een poort wordt uitgevoerd die u niet nodig hebt, schakelt u het uit:

sudo systemctl stop <service_name>
sudo systemctl disable <service_name>

Gebruik een firewall:
Beperk de toegang tot poorten met behulp van een tool zoals UFW (ongecompliceerde firewall):

sudo ufw allow 22     # Allow SSH  
sudo ufw deny 80      # Block HTTP

Controleer de poorten regelmatig:
Maak er een gewoonte van om af en toe open poorten te controleren, vooral als u een server uitvoert.

Afsluiten

Het controleren van poorten in Linux hoeft niet ingewikkeld te zijn.Of u nu NetStat, SS, LSOF, NMAP of NC gebruikt, elke tool geeft u een iets ander beeld van wat er aan de hand is.Kies degene die het beste werkt voor uw behoeften en niet bang zijn om te verkennen.Hoe meer je oefent, hoe gemakkelijker het wordt!

Geschreven door Hostwinds Team  /  januari- 14, 2025