Bean Network Tester

어떤 프로그램이 이 포트를 쓰고 있을까요?

서버가 8080번 포트에서 시작되지 않거나, 테스트가 "address already in use"로 멈춥니다. 이미 어떤 프로그램이 포트를 잡고 있거나 Windows가 그 포트를 예약해 둔 것이고, 두 오류는 비슷해 보입니다. 구분하는 방법은 다음과 같습니다.

포트가 열리지 않는 두 가지 이유

무슨 일이 있었나어떻게 나타나나어떻게 하나
프로그램이 포트를 잡고 있음오류가 주소가 이미 사용 중이라고 알립니다(EADDRINUSE 또는 Windows 오류 10048). 해당 프로그램이 소켓 목록에 나타납니다.그 프로그램을 닫거나 다른 포트를 고르세요.
Windows가 포트를 예약함듣고 있는 것이 없는데도 접근이 금지되었다고 알립니다(Windows 오류 10013). 목록에는 프로그램이 나타나지 않습니다.예약된 범위 밖의 포트를 고르거나 그 범위를 해제하세요. WinNAT 서비스를 다시 시작하면 해결되는 경우가 많습니다.

Windows에 이미 있는 것으로

소켓 목록은 소유자를 프로세스 ID로 알려 줍니다. 포트를 찾은 다음 ID를 찾으세요.

netstat -ano | findstr :8080
tasklist /fi "PID eq 4321"

PowerShell에서도 같습니다. TCP와 UDP 모두 확인할 수 있습니다.

Get-NetTCPConnection -LocalPort 8080 | Select-Object LocalAddress, State, OwningProcess
Get-NetUDPEndpoint -LocalPort 5353 | Select-Object LocalAddress, OwningProcess
Get-Process -Id 4321

포트를 잡은 프로그램이 없다면, Windows가 어떤 범위를 예약했는지 물어보세요.

netsh int ipv4 show excludedportrange protocol=tcp

protocol=udp로 한 번 더 실행하세요. 범위는 프로토콜별로 관리되므로 UDP에서는 비어 있고 TCP에서는 예약된 포트가 있을 수 있습니다.

Tools 탭으로

Tools 탭은 콘솔 없이 같은 질문에 답합니다.

그래서 답이 예 아니면 아니요가 아니라 표로 나옵니다. Windows는 프로토콜별로 범위를 예약하고, IPv6에서 듣는 프로그램은 IPv4에서는 비어 있는 포트를 잡고 있을 수 있습니다.

네트워크로는 아무것도 보내지 않습니다. 각 포트마다 컴퓨터 자신의 루프백 주소에서 Windows에 포트를 요청하고 곧바로 돌려줍니다.

누가 잡고 있는지 알았다면

두 표 중 어느 쪽이든 행을 마우스 오른쪽 버튼으로 눌러 포트를 잡은 프로그램을 대상으로 지정하세요. 대상 입력란만 채워지며, START를 누르기 전에는 아무것도 바뀌지 않습니다. 다음 단계는 하나의 앱만 겨냥하기에 있습니다.

하지 않는 일

읽기만 하고 고치지는 않습니다. 프로그램을 닫지도, 예약된 범위를 해제하지도 않습니다. 다른 계정의 소켓은 도구를 관리자 권한으로 실행하지 않으면 프로그램이 표시되지 않습니다.

다음

내 네트워크를 일부러 망가뜨릴 준비가 되셨나요?

Windows용 다운로드