Program mana yang memakai port ini?
Server tidak mau menyala di port 8080, atau tes berhenti dengan "address already in use". Entah sebuah program sudah memegang port itu, entah Windows mencadangkannya, dan kedua galat itu tampak mirip. Begini cara membedakannya.
Dua alasan sebuah port tidak bisa dibuka
| Apa yang terjadi | Bagaimana tampaknya | Apa yang dilakukan |
|---|---|---|
| Sebuah program memegang port | Galat menyebut alamat sudah dipakai (EADDRINUSE, atau galat Windows 10048). Program itu muncul di daftar socket. | Tutup program itu, atau pilih port lain. |
| Windows mencadangkan port | Galat menyebut akses dilarang (galat Windows 10013) padahal tidak ada yang mendengarkan. Tidak ada program di daftar. | Pilih port di luar rentang yang dicadangkan, atau lepaskan rentang itu. Memulai ulang layanan WinNAT sering berhasil. |
Dengan yang sudah ada di Windows
Daftar socket menyebut pemiliknya sebagai ID proses. Cari port-nya, lalu cari ID-nya:
netstat -ano | findstr :8080
tasklist /fi "PID eq 4321"
Hal yang sama di PowerShell, untuk TCP dan UDP:
Get-NetTCPConnection -LocalPort 8080 | Select-Object LocalAddress, State, OwningProcess
Get-NetUDPEndpoint -LocalPort 5353 | Select-Object LocalAddress, OwningProcess
Get-Process -Id 4321
Jika tidak ada program yang memegang port, tanyakan rentang mana yang dicadangkan Windows:
netsh int ipv4 show excludedportrange protocol=tcp
Jalankan lagi dengan protocol=udp. Rentang dicatat per protokol, jadi sebuah port bisa bebas untuk UDP dan dicadangkan untuk TCP.
Dengan tab Tools
Tab Tools menjawab pertanyaan yang sama tanpa konsol:
- Sockets mendaftar setiap socket TCP dan UDP di komputer, seperti
netstat -ano: apa yang mendengarkan, apa yang tersambung, statusnya, dan program pemiliknya. Tidak perlu sesi. Cari denganlport:8080ataustate:listen. - Port check menanyakan hal yang ditanyakan server Anda: bisakah sebuah program memakai port ini? Ketik 8080, daftar seperti
80, 443, atau rentang seperti9000-9100(hingga 1000 port), lalu tekan Check. Setiap port dicoba untuk TCP dan UDP, di IPv4 dan IPv6, lalu ditandai Free, In use (dengan program dan PID-nya), atau Reserved by Windows.
Karena itu jawabannya berupa tabel, bukan ya atau tidak: Windows mencadangkan rentang per protokol, dan program yang mendengarkan di IPv6 bisa memegang port yang bebas di IPv4.
Tidak ada yang dikirim lewat jaringan. Untuk setiap port, alat ini memintanya dari Windows pada alamat loopback komputer itu sendiri dan langsung mengembalikannya.
Setelah tahu siapa pemegangnya
Klik kanan sebuah baris di salah satu tabel untuk menjadikan program pemegang port sebagai target. Ini hanya mengisi kolom target, dan tidak ada yang berubah sampai Anda menekan START. Langkah berikutnya ada di menyasar satu aplikasi.
Yang tidak dilakukannya
Alat ini hanya membaca, tidak memperbaiki: tidak pernah menutup program dan tidak pernah melepaskan rentang yang dicadangkan. Socket milik akun lain tidak menampilkan program, kecuali alat ini dijalankan sebagai administrator.