Který program používá tento port?
Server se nespustí na portu 8080, nebo test skončí hláškou "address already in use". Buď port už drží nějaký program, nebo ho Windows vyhradil, a obě chyby vypadají podobně. Takto je rozlišíte.
Dva důvody, proč se port nedá otevřít
| Co se stalo | Jak to vypadá | Co dělat |
|---|---|---|
| Port drží program | Chyba hlásí, že adresa je už používána (EADDRINUSE nebo chyba Windows 10048). Program je vidět v seznamu soketů. | Zavřete ten program nebo zvolte jiný port. |
| Windows port vyhradil | Chyba hlásí zakázaný přístup (chyba Windows 10013), i když nic neposlouchá. V seznamu není žádný program. | Zvolte port mimo vyhrazený rozsah nebo rozsah uvolněte. Často pomůže restart služby WinNAT. |
Tím, co Windows už má
Seznam soketů uvádí vlastníka jako ID procesu. Najděte port a potom ID:
netstat -ano | findstr :8080
tasklist /fi "PID eq 4321"
Totéž v PowerShellu, pro TCP i UDP:
Get-NetTCPConnection -LocalPort 8080 | Select-Object LocalAddress, State, OwningProcess
Get-NetUDPEndpoint -LocalPort 5353 | Select-Object LocalAddress, OwningProcess
Get-Process -Id 4321
Pokud port nedrží žádný program, zeptejte se, které rozsahy Windows vyhradil:
netsh int ipv4 show excludedportrange protocol=tcp
Spusťte to znovu s protocol=udp. Rozsahy se vedou podle protokolu, takže port může být pro UDP volný a pro TCP vyhrazený.
S kartou Tools
Karta Tools odpoví na stejné otázky bez konzole:
- Sockets vypíše každý soket TCP a UDP v počítači, jako
netstat -ano: co naslouchá, co je připojeno, v jakém je stavu a který program ho vlastní. Relace není potřeba. Hledat můžete přeslport:8080nebostate:listen. - Port check se ptá na to, na co se ptal váš server: může program tento port použít? Zadejte 8080, seznam jako
80, 443nebo rozsah jako9000-9100(až 1000 portů) a stiskněte Check. Každý port se zkouší pro TCP a UDP, v IPv4 a IPv6, a označí se jako Free, In use (s programem a jeho PID) nebo Reserved by Windows.
Proto je odpovědí tabulka, a ne ano nebo ne: Windows vyhrazuje rozsahy podle protokolu a program naslouchající v IPv6 může držet port, který je v IPv4 volný.
Po síti se nic neposílá. Pro každý port nástroj o něj požádá Windows na vlastní zpětné smyčce počítače a hned ho vrátí.
Až budete vědět, kdo ho má
Klikněte pravým tlačítkem na řádek v kterékoli tabulce, a program, který port drží, se stane cílem. Tím se jen vyplní pole cíle a nic se nezmění, dokud nestisknete START. Co dál, najdete v části cílení na jednu aplikaci.
Co nedělá
Čte, neopravuje: nikdy nezavře program ani neuvolní vyhrazený rozsah. Soket jiného účtu neukáže program, pokud nástroj neběží jako správce.