Windows 10에서 특정 포트를 사용 중인 프로세스를 확인하는 방법

안녕하세요. 일본서버 호스팅 전문 비전 IDC 기술팀입니다.

오늘은 Windows 10에서 특정 포트를 사용 중인 프로세스를 확인하는 방법을 알아보겠습니다. 웹 서버, 데이터베이스, 원격 데스크톱 같은 프로그램이 시작되지 않거나 포트 충돌이 발생한다면 먼저 해당 포트를 어떤 프로세스가 점유하고 있는지 확인해야 합니다.

Windows에서는 netstat와 tasklist를 이용하는 방법과 PowerShell의 Get-NetTCPConnection, Get-NetUDPEndpoint, Get-Process를 이용하는 방법이 있습니다. 이 문서에서는 TCP와 UDP를 구분하여 포트 번호에서 PID와 실제 프로세스 이름까지 찾는 과정을 설명합니다.

적용 환경 및 주의사항

이 문서는 Windows 10에서 명령 프롬프트 또는 PowerShell을 사용해 로컬 포트와 해당 포트를 소유한 프로세스를 확인하는 상황을 기준으로 작성합니다.

일부 시스템 프로세스와 다른 사용자 계정으로 실행된 프로세스 정보를 확인하려면 명령 프롬프트 또는 PowerShell을 관리자 권한으로 실행하는 것이 좋습니다.

1. netstat로 특정 포트의 PID 확인

가장 간단한 방법은 netstat -ano 결과에서 원하는 포트 번호를 검색하는 것입니다. 예를 들어 TCP 8080 포트를 사용 중인 프로세스를 확인하려면 다음 명령을 실행합니다.

netstat -ano | findstr :8080

출력의 마지막 열에 표시되는 숫자가 PID(Process ID)입니다. 예를 들어 다음과 같은 형태라면 마지막의 1234가 해당 연결을 소유한 프로세스의 PID입니다.

TCP    0.0.0.0:8080    0.0.0.0:0    LISTENING    1234

LISTENING은 해당 프로세스가 그 로컬 TCP 포트에서 연결을 기다리고 있다는 뜻입니다. 동일 포트에서 ESTABLISHED, TIME_WAIT 등의 행도 함께 보일 수 있으므로 서버 프로그램의 포트 점유 여부를 확인할 때는 LISTENING 상태를 우선 확인합니다.

LISTENING 상태만 좁혀서 확인하려면 다음처럼 실행할 수 있습니다.

netstat -ano | findstr LISTENING | findstr :8080

2. PID로 프로세스 이름 확인

netstat에서 PID를 찾았다면 tasklist로 실제 실행 파일 이름을 확인합니다. 예를 들어 PID가 1234라면 다음과 같이 실행합니다.

tasklist /FI "PID eq 1234"

출력에서 이미지 이름과 PID가 일치하는지 확인합니다. PowerShell에서는 다음과 같이 확인할 수도 있습니다.

Get-Process -Id 1234

프로세스 이름을 확인한 뒤 해당 서비스나 애플리케이션이 실제로 종료 가능한 대상인지 판단해야 합니다.

3. PowerShell로 TCP 포트 사용 프로세스 확인

PowerShell에서는 Get-NetTCPConnection의 -LocalPort 옵션으로 특정 로컬 TCP 포트를 직접 조회할 수 있습니다. 예를 들어 8080 포트를 확인합니다.

Get-NetTCPConnection -LocalPort 8080

출력에서 State와 OwningProcess 값을 확인합니다. OwningProcess가 PID입니다.

LISTEN 상태만 확인하려면 다음과 같이 실행합니다.

Get-NetTCPConnection -LocalPort 8080 -State Listen

PID를 가져와 프로세스 이름까지 바로 확인할 수도 있습니다.

$connection = Get-NetTCPConnection -LocalPort 8080 -State Listen
Get-Process -Id $connection.OwningProcess

조회 결과가 여러 개라면 PID를 중복 제거해 확인할 수 있습니다.

Get-NetTCPConnection -LocalPort 8080 |
    Select-Object -ExpandProperty OwningProcess -Unique |
    ForEach-Object { Get-Process -Id $_ }

4. UDP 포트 사용 프로세스 확인

UDP는 TCP처럼 LISTENING 상태를 표시하지 않습니다. 특정 UDP 포트를 사용하는 프로세스를 확인하려면 PowerShell의 Get-NetUDPEndpoint를 사용합니다.

예를 들어 UDP 53 포트를 확인하려면 다음과 같이 실행합니다.

Get-NetUDPEndpoint -LocalPort 53

출력의 OwningProcess PID를 이용해 실제 프로세스를 확인합니다.

$endpoint = Get-NetUDPEndpoint -LocalPort 53
Get-Process -Id $endpoint.OwningProcess

UDP 포트 충돌을 조사할 때는 TCP용 Get-NetTCPConnection이 아니라 Get-NetUDPEndpoint를 사용해야 합니다.

5. 현재 LISTENING 포트 전체 확인

현재 Windows에서 외부 연결을 기다리는 TCP 포트를 전체적으로 확인하려면 다음 명령을 사용할 수 있습니다.

netstat -ano | findstr LISTENING

PowerShell에서는 다음처럼 포트 번호 순으로 정렬해 확인할 수 있습니다.

Get-NetTCPConnection -State Listen |
    Sort-Object LocalPort |
    Select-Object LocalAddress, LocalPort, State, OwningProcess

프로세스 이름까지 함께 표시하려면 다음과 같이 확인할 수 있습니다.

Get-NetTCPConnection -State Listen |
    Sort-Object LocalPort |
    ForEach-Object {
        [PSCustomObject]@{
            LocalAddress = $_.LocalAddress
            LocalPort = $_.LocalPort
            PID = $_.OwningProcess
            ProcessName = (Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).ProcessName
        }
    }

이 결과는 포트 충돌뿐 아니라 서버에서 불필요하게 열려 있는 서비스가 있는지 점검할 때도 활용할 수 있습니다.

6. 자주 발생하는 문제와 확인 방법

특정 포트의 프로세스를 확인할 때 자주 발생하는 상황
증상 가능한 원인 확인 방법 조치 방향
포트 검색 결과가 나오지 않음 현재 해당 포트를 사용하는 프로세스가 없거나 TCP/UDP 프로토콜을 잘못 확인함 Get-NetTCPConnection과 Get-NetUDPEndpoint를 각각 확인 서비스가 실제 실행 중인지와 설정된 포트 번호를 다시 확인
PID는 확인되지만 프로세스가 보이지 않음 조회 사이에 프로세스가 종료되었거나 권한 부족 관리자 PowerShell에서 다시 조회 포트와 PID를 연속해서 재확인
PID가 4로 표시됨 Windows System 프로세스 또는 커널 수준 구성에서 포트를 사용 중일 수 있음 tasklist /FI "PID eq 4"와 해당 Windows 서비스 구성 확인 PID 4를 강제 종료하지 말고 포트를 등록한 서비스 또는 구성 요소를 확인
서비스 시작 시 포트 충돌 발생 다른 프로세스가 같은 로컬 포트를 이미 사용 중 netstat -ano 또는 Get-NetTCPConnection -LocalPort 기존 프로세스의 역할을 확인한 뒤 한쪽 서비스의 포트 설정을 변경

공식 참고자료

  • Microsoft Learn — Get-NetTCPConnection — 로컬 포트, 연결 상태, 소유 프로세스 PID 확인 방법 참고. 조회일: 2026-10-08.
  • Microsoft Learn — Get-NetUDPEndpoint — UDP 로컬 포트와 소유 프로세스 PID 확인 방법 참고. 조회일: 2026-10-08.
  • Microsoft Learn — tasklist — PID 필터를 사용한 프로세스 조회 방법 확인. 조회일: 2026-10-08.
  • Microsoft Learn — TCP/IP port exhaustion troubleshooting — Windows 10에서 netstat와 소유 프로세스를 이용한 포트 점검 방법 참고. 조회일: 2026-10-08.
  • Microsoft Learn — Windows 10 Home 및 Pro 수명 주기 — Windows 10 지원 종료일 확인. 조회일: 2026-10-08.

자주 묻는 질문

특정 TCP 포트를 가장 빠르게 확인하는 명령은 무엇인가요?

netstat -ano | findstr :포트번호를 사용하면 포트 상태와 PID를 빠르게 확인할 수 있습니다. PowerShell에서는 Get-NetTCPConnection -LocalPort 포트번호를 사용할 수 있습니다.

PID로 프로그램 이름은 어떻게 찾나요?

tasklist /FI "PID eq PID번호" 또는 PowerShell의 Get-Process -Id PID번호를 사용하면 됩니다.

UDP 포트도 같은 방법으로 확인할 수 있나요?

netstat -ano에서도 UDP 정보를 볼 수 있지만 PowerShell에서는 Get-NetUDPEndpoint -LocalPort 포트번호를 사용하면 해당 UDP 포트의 소유 PID를 직접 확인할 수 있습니다.

포트를 사용하는 프로세스를 바로 종료해도 되나요?

권장하지 않습니다. PID가 Windows 핵심 서비스나 실제 운영 중인 애플리케이션일 수 있으므로 프로세스 이름과 역할을 확인한 후 정상적인 서비스 중지 또는 애플리케이션 종료 절차를 사용하는 것이 안전합니다.

마무리

Windows 10에서 특정 포트를 사용하는 프로세스를 찾으려면 먼저 netstat -ano 또는 Get-NetTCPConnection으로 PID를 확인하고, tasklist나 Get-Process로 실제 프로세스 이름을 확인하면 됩니다. UDP 포트는 Get-NetUDPEndpoint를 사용하면 보다 명확하게 확인할 수 있습니다.

비전 IDC는 일본서버 호스팅 환경을 포함한 Windows 및 Linux 서버 운영 환경에서 포트 충돌과 네트워크 장애를 정확하게 진단하는 데 도움이 되는 기술정보를 지속적으로 제공하겠습니다.

  • 0 사용자에게 유용한 정보 제공
이 답변이 도움이 되었나요?
« Back