
컴퓨터를 사용하다 보면 어떤 IP가 어떤 포트를 사용하는지, 혹은 네트워크 통신이 정상적으로 이루어지고 있는지 확인해야 할 때가 있습니다. 이럴 때 유용하게 사용할 수 있는 명령어가 바로 netstat(Network Statistics)입니다.
netstat란?
netstat은 네트워크 연결 상태, 라우팅 테이블, 프로토콜별 통계 정보 등을 확인할 수 있는 CMD 명령어입니다. 특히 서버 관리나 네트워크 점검 시 자주 사용되며, 포트 점유 현황이나 연결 문제를 빠르게 진단할 수 있습니다.
netstat 기본 사용법
netstat [옵션]
* 옵션을 조합하면 다양한 네트워크 상태를 확인할 수 있으며, 가장 많이 쓰이는 것은 -ano, -p, -s 등입니다.
netstat 상태 값 정리
LISTEN : 서버가 클라이언트 접속 요청을 기다리는 상태
ESTABLISHED : 서버와 클라이언트 간 연결이 성립된 상태
CLOSE_WAIT : 응용프로그램이 연결 종료를 기다리는 상태
TIME_WAIT : 연결 종료 후 일정 시간 소켓을 유지하는 상태
SYN_SENT : 클라이언트가 서버에 연결 요청을 보낸 상태
SYN_RECEIVED : 서버가 연결 요청을 받아 응답했지만, 클라이언트 확인이 오지 않은 상태
CLOSED / CLOSING / FIN_WAIT1 / FIN_WAIT2 / LAST_ACK / UNKNOWN : 각각의 연결 종료 과정 및 알 수 없는 상태
netstat 자주 쓰는 명령어 예시
1. netstat -ano : 모든 연결 상태 + PID 확인
* 모든 네트워크 연결 상태와 프로세스 ID까지 확인할 수 있습니다. 특정 포트를 사용하는 프로세스를 추적할 때 유용합니다.

2. netstat -ano | findstr 포트번호
* 특정 포트만 골라 확인할 수도 있습니다.

3. netstat -p tcp, netstat -p udp : 프로토콜별 연결 확인
* TCP/UDP 기반 연결만 따로 확인할 수 있습니다.

netstat 주요 옵션 정리
-a : 모든 연결 및 수신 대기 포트 표시
-b : 연결 생성과 관련된 실행 파일 표시 (관리자 권한 필요)
-e : 이더넷 통계 확인
-f : 외부 주소의 FQDN 표시
-n : 주소와 포트를 숫자 형식으로 표시
-o : 연결의 PID 표시
-p proto : 특정 프로토콜(TCP, UDP 등)만 표시
-s : 프로토콜별 통계 표시
-r : 라우팅 테이블 확인
-q : 바인딩된 포트 및 대기 상태 표시
-y : TCP 연결 템플릿 표시
마치며
netstat 명령어는 개인 PC보다는 기업 환경이나 서버 관리에서 더 자주 사용됩니다. 예를 들어, 방화벽 문제로 특정 포트 통신이 막혔는지 확인할 때나 어떤 프로세스가 특정 포트를 점유하고 있는지 찾을 때 매우 유용합니다. Windows 10에서 네트워크 문제가 발생했을 때, netstat 명령어를 활용해 빠르게 진단해 보시길 추천드립니다.