Hoe controleer je of een poort open is op een remote of lokale host?
sobes.tech AI
Antwoord van AI
Om te controleren of een poort open is op een remote of lokale host, kunnen de volgende methoden worden gebruikt:
-
netcat(nc): Een universeel hulpmiddel voor het werken met netwerkverbindingen.- Lokale host:
nc -zv localhost <poort> - Remote host:
nc -zv <remote_host> <poort>
De opties
-z(zero-I/O mode) en-v(verbose) worden gebruikt om te scannen zonder gegevens te verzenden en voor het tonen van gedetailleerde informatie. - Lokale host:
-
telnet: Protocol voor remote management, dat kan worden gebruikt om de verbinding op de aangegeven poort te controleren.- Lokale host:
telnet localhost <poort> - Remote host:
telnet <remote_host> <poort>
Als de verbinding wordt gemaakt (meestal verschijnt een prompt of een lege regel), is de poort open. Sluiten kan door
Ctrl+]te drukken, daarnaquiten Enter. - Lokale host:
-
nmap: Een krachtige poortscanner. Vereist installatie.- Lokale host:
nmap -p <poort> localhost - Remote host:
nmap -p <poort> <remote_host>
De output toont de status van de poort:
open,closedoffiltered. - Lokale host:
-
< /dev/tcpof< /dev/udp(in Bash): In Bash kunnen bestandsdescriptors worden gebruikt om TCP- of UDP-verbindingen te maken.- Lokale host (TCP):
timeout 1 bash -c "cat < /dev/tcp/localhost/<poort>" 2>/dev/null && echo "Poort <poort> is open" || echo "Poort <poort> is gesloten" - Remote host (TCP):
timeout 1 bash -c "cat < /dev/tcp/<remote_host>/<poort>" 2>/dev/null && echo "Poort <poort> is open" || echo "Poort <poort> is gesloten"
timeoutwordt gebruikt om vastlopen te voorkomen als de poort gesloten is.2>/dev/nullverbergt foutmeldingen. Deze methode werkt niet voor UDP. - Lokale host (TCP):
-
Python: Gebruik van sockets voor controle.
import socket def check_port(host, port): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(1) # Timeout instellen try: s.connect((host, port)) print(f"Poort {port} op {host} is open") except (socket.timeout, ConnectionRefusedError): print(f"Poort {port} op {host} is gesloten of gefilterd") finally: s.close() # Voorbeeldgebruik check_port("localhost", 80) # Controleer lokale host check_port("google.com", 443) # Controleer remote host
De keuze van methode hangt af van de beschikbare tools, het besturingssysteem en de specifieke taak. netcat en nmap zijn enkele van de meest flexibele en informatieve tools.