IP & Network

TCP-poortcontrole

Test TCP-poortbeschikbaarheid van elke host, enkel of batch.

Over deze tool

Een port-check is de eenvoudigste "luistert de dienst werkelijk"-vraag die u het publieke internet kunt stellen. Onze port checker opent een echte TCP-verbinding vanaf onze server in Frankfurt naar de host en poorten die u opgeeft, met een time-out van 3 seconden per poort. Als de handshake voltooit, is de poort open; als de host actief weigert, is de poort closed; als het stil blijft, is de poort filtered — meestal een firewall die het SYN-pakket zonder antwoord laat vallen.

U kunt tot 100 poorten per run scannen — een enkele poort (80), een door komma's gescheiden lijst (80,443,22), of een klein bereik (20-25). Elk resultaat toont het poortnummer, ons oordeel, de tijd die de dial duurde, en een service-naam-gok op basis van IANA-achtige toewijzingen (22 → ssh, 5432 → postgresql, etc.). De uitkomst wordt rij voor rij bijgewerkt terwijl we dial-en — u hoeft niet te wachten op de traagste poort om over de snelle te leren.

Wat u ermee kunt doen

  • Een deploy verifiëren zonder SSH-en. Als uw dienst op poort 5432 zou moeten staan en de checker zegt filtered, heeft de listener nooit gebonden of zit de firewall ertussen — verschillende oplossingen, maar de port-check vertelt u welke.
  • Externe blootstelling auditen. Voer de populaire-poorten-preset uit tegen uw server. Alles dat open is en dat u niet herkent is uw huiswerk. closed en filtered zijn beide prima voor het publieke internet.
  • "De firewall moet fout zijn"-discussies diagnosticeren. filtered op elke poort vanaf ons — maar bereikbaar vanaf uw laptop — is concreet bewijs dat de firewall van de host een bron-IP-allowlist heeft, geen poortprobleem.

Het resultaat lezen

"Open" is ondubbelzinnig: een TCP-listener accepteerde ons. "Closed" betekent dat de host leeft en de kernel RST stuurde; de poort wordt niet gebruikt. "Filtered" is het interessante geval: een firewall liet ons pakket vallen zonder antwoord, de route is kapot, of de listener is overbelast. De dial-tijd-kolom helpt onderscheiden — open en closed antwoorden in milliseconden van één cijfer; filtered zit altijd op de volledige 3-seconden time-out. Veel UDP-gebaseerde diensten (DNS op 53, SNMP op 161) accepteren ook TCP, maar als ze dat niet doen, verwacht filtered — dat is normaal, geen bug.

Veelgestelde vragen

Wat is het verschil tussen "closed" en "filtered"?

Closed betekent dat de kernel van de host actief antwoordde met een TCP RST — de host is bereikbaar, er staat geen listener op die poort. Filtered betekent dat we binnen 3 seconden niets terug kregen — meestal een firewall die ons SYN laat vallen, soms een overbelaste host. Beide komen veel voor; alleen "open" garandeert dat er werkelijk een dienst luistert.

Waarom is alles "filtered" vanaf uw server maar werkt het wel voor mij?

Een bron-IP-allowlist op de firewall van de host. De dienst is in orde en bereikbaar vanaf het IP van uw laptop, maar het IP van onze Frankfurt-server staat niet op de allow-lijst. Dit is de verwachte uitkomst voor jump-hosts, interne adminpanelen en elke dienst die niet aan het publieke internet zou moeten worden blootgesteld — precies wat u opzettelijk zou configureren.

Kan ik privé-IP's of mijn eigen LAN scannen?

Nee. RFC 1918 privé-reeksen, loopback, link-local (169.254/16), CGN (100.64/10) en cloud-metadata-endpoints worden geweigerd — hetzelfde SSRF-beleid als de rest van onze tools. Gebruik nmap of een vergelijkbare lokale tool om uw LAN te scannen. Publieke diensten horen alleen het publieke internet te probesen.

Hoeveel poorten kan ik in één run controleren?

Tot 100 unieke poorten per run. Een bereik als 1-100 telt als 100; lijsten worden vóór het tellen gededupliceerd. Invoer boven de limiet geeft een 422 — splits uw scan in batches. We kozen 100 omdat het worst-case scenario (elke poort gefilterd) 100 × 3 s = 5 minuten duurt; meer toestaan zou de worker langer vasthouden dan een redelijke responstijd.

Waarom is de "service"-naam een gok?

TCP-poortnummers identificeren in feite geen diensten — iedereen kan alles op elke poort draaien. We mappen bekende IANA-toewijzingen (22 → ssh, 443 → https) zodat het resultaat leesbaar is voor het gangbare geval, maar als iemand PostgreSQL op poort 80 draait zegt het nog steeds "http". Om te leren wat er werkelijk op een poort spreekt, haalt onze Server Check-tool de daadwerkelijke banner uit de handshake.