Welk programma gebruikt deze poort?
Een server start niet op poort 8080, of een test stopt met "address already in use". Of een programma heeft de poort al, of Windows heeft hem gereserveerd, en de twee fouten lijken op elkaar. Zo maak je het onderscheid.
Twee redenen waarom een poort niet opent
| Wat er gebeurde | Hoe het zich toont | Wat te doen |
|---|---|---|
| Een programma heeft de poort | De fout zegt dat het adres al in gebruik is (EADDRINUSE, of Windows-fout 10048). Het programma staat in de lijst met sockets. | Sluit dat programma of kies een andere poort. |
| Windows heeft de poort gereserveerd | De fout zegt dat toegang verboden is (Windows-fout 10013), terwijl niets luistert. Er staat geen programma in de lijst. | Kies een poort buiten het gereserveerde bereik of geef het bereik vrij. Vaak helpt het om de WinNAT-service opnieuw te starten. |
Met wat Windows al heeft
De socketlijst noemt de eigenaar als proces-ID. Zoek de poort op en daarna het ID:
netstat -ano | findstr :8080
tasklist /fi "PID eq 4321"
Hetzelfde in PowerShell, voor TCP en voor UDP:
Get-NetTCPConnection -LocalPort 8080 | Select-Object LocalAddress, State, OwningProcess
Get-NetUDPEndpoint -LocalPort 5353 | Select-Object LocalAddress, OwningProcess
Get-Process -Id 4321
Houdt geen programma de poort vast, vraag dan welke bereiken Windows heeft gereserveerd:
netsh int ipv4 show excludedportrange protocol=tcp
Voer het nog eens uit met protocol=udp. De bereiken worden per protocol bijgehouden, dus een poort kan vrij zijn voor UDP en gereserveerd voor TCP.
Met het tabblad Tools
Het tabblad Tools beantwoordt dezelfde vragen zonder console:
- Sockets toont elke TCP- en UDP-socket op de computer, zoals
netstat -ano: wat luistert, wat verbonden is, de status en het programma dat hem bezit. Een sessie is niet nodig. Zoek metlport:8080ofstate:listen. - Port check stelt de vraag die je server stelde: kan een programma deze poort gebruiken? Typ 8080, een lijst zoals
80, 443of een bereik zoals9000-9100(maximaal 1000 poorten) en druk op Check. Elke poort wordt geprobeerd voor TCP en UDP, op IPv4 en IPv6, en gemarkeerd als Free, In use (met het programma en zijn PID) of Reserved by Windows.
Daarom is het antwoord een tabel en geen ja of nee: Windows reserveert bereiken per protocol, en een programma dat op IPv6 luistert kan een poort vasthouden die op IPv4 vrij is.
Er wordt niets over het netwerk verstuurd. Voor elke poort vraagt de tool hem aan Windows op het eigen loopback-adres van de computer en geeft hem meteen terug.
Als je weet wie hem heeft
Klik met de rechtermuisknop op een rij in een van beide tabellen om het programma dat de poort vasthoudt als doel te kiezen. Dat vult alleen het doelveld in, en er verandert niets tot je op START drukt. Hoe het verdergaat, staat bij één app als doel.
Wat het niet doet
Het leest, het repareert niet: het sluit nooit een programma en geeft nooit een gereserveerd bereik vrij. Een socket van een ander account toont geen programma, tenzij de tool als beheerder draait.