Qual programa está usando esta porta?
Um servidor não inicia na porta 8080, ou um teste para com "address already in use". Ou um programa já está com a porta, ou o Windows a reservou, e os dois erros se parecem. Veja como distinguir.
Dois motivos para uma porta não abrir
| O que aconteceu | Como aparece | O que fazer |
|---|---|---|
| Um programa está com a porta | O erro diz que o endereço já está em uso (EADDRINUSE, ou erro 10048 do Windows). O programa aparece na lista de sockets. | Feche esse programa ou escolha outra porta. |
| O Windows reservou a porta | O erro diz que o acesso é proibido (erro 10013 do Windows), embora nada esteja escutando. Nenhum programa aparece na lista. | Escolha uma porta fora do intervalo reservado ou libere o intervalo. Reiniciar o serviço WinNAT costuma resolver. |
Com o que o Windows já tem
A lista de sockets dá o dono como um ID de processo. Procure a porta e depois o ID:
netstat -ano | findstr :8080
tasklist /fi "PID eq 4321"
A mesma coisa no PowerShell, para TCP e para UDP:
Get-NetTCPConnection -LocalPort 8080 | Select-Object LocalAddress, State, OwningProcess
Get-NetUDPEndpoint -LocalPort 5353 | Select-Object LocalAddress, OwningProcess
Get-Process -Id 4321
Se nenhum programa está com a porta, pergunte quais intervalos o Windows reservou:
netsh int ipv4 show excludedportrange protocol=tcp
Execute de novo com protocol=udp. Os intervalos são mantidos por protocolo, então uma porta pode estar livre para UDP e reservada para TCP.
Com a aba Tools
A aba Tools responde às mesmas perguntas sem console:
- Sockets lista todos os sockets TCP e UDP do computador, como
netstat -ano: o que está escutando, o que está conectado, o estado e o programa dono. Não precisa de sessão. Pesquise comlport:8080oustate:listen. - Port check faz a pergunta que o seu servidor fez: um programa pode usar esta porta? Digite 8080, uma lista como
80, 443ou um intervalo como9000-9100(até 1000 portas) e pressione Check. Cada porta é testada em TCP e UDP, em IPv4 e IPv6, e marcada como Free, In use (com o programa e seu PID) ou Reserved by Windows.
Por isso a resposta é uma tabela e não um sim ou um não: o Windows reserva intervalos por protocolo, e um programa que escuta em IPv6 pode segurar uma porta que está livre em IPv4.
Nada é enviado pela rede. Para cada porta, a ferramenta a pede ao Windows no endereço de loopback do próprio computador e a devolve na hora.
Quando você sabe quem está com ela
Clique com o botão direito em uma linha de qualquer tabela para escolher como alvo o programa que segura a porta. Isso só preenche o campo de alvo, e nada muda até você pressionar START. O que vem depois está em mirar em um app.
O que ela não faz
Ela lê, não conserta: nunca fecha um programa nem libera um intervalo reservado. Um socket de outra conta não mostra programa, a menos que a ferramenta rode como administrador.