Netstat(Network Statistics)는 컴퓨터 네트워크 문제를 모니터링하고 진단하는 데 사용되는 명령줄 도구입니다. 이 도구를 활용하면 현재 장치의 모든 연결 상태를 원하는 수준의 세부 정보까지 확인할 수 있습니다.
Netstat를 사용하면 모든 연결과 해당 포트 및 통계 정보를 한눈에 파악할 수 있습니다. 네트워크 연결을 설정하거나 문제를 해결할 때 이러한 정보는 매우 유용합니다. 이 글에서는 Netstat 명령어의 기본 사용법과 연결 정보를 필터링할 수 있는 주요 매개변수들을 소개합니다.
Netstat 명령어로 네트워크 문제 해결하기
이 섹션에서는 다음 내용을 다룹니다:
- Netstat 명령어 사용 방법
- netstat 매개변수로 연결 정보 필터링하기
- Netstat 매개변수 조합하기
위 항목들을 하나씩 살펴보며 이 도구를 더 깊이 이해하고, 네트워크 문제 해결에 실질적으로 활용하는 방법을 알아보겠습니다.
1] Netstat 명령어 기본 사용법
시작 버튼을 클릭한 후 명령 프롬프트를 검색합니다. 명령 프롬프트를 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행 옵션을 선택해 관리자 권한으로 실행합니다.
다음 명령어를 입력하고 Enter 키를 누르면 Netstat를 실행할 수 있습니다:
netstat
네트워킹이 처음이라면 각 열(column)의 의미가 생소할 수 있습니다. 주요 항목은 다음과 같습니다:
- Proto: 네트워크 프로토콜을 나타냅니다. TCP 또는 UDP 중 하나입니다.
- Local Address: 해당 연결에 대한 컴퓨터 네트워크 인터페이스의 IP 주소와 포트입니다.
- Foreign Address: 원격 장치의 IP 주소와 포트 이름입니다.
- State: 연결 상태를 표시합니다. 예를 들어 활성화된 연결과 종료된 연결을 구분할 수 있습니다.
netstat 명령어는 현재 활성화된 연결과 세부 정보를 보여줍니다. 다만 Foreign Address 열에는 포트 번호 대신 포트 이름이 함께 출력되는 것을 볼 수 있습니다.
IP 주소 옆에 포트 이름 대신 포트 번호를 표시하려면 다음 명령어를 사용하세요:
netstat -n
또한 시스템은 네트워크에 연결되거나 연결이 끊길 수 있으며, 네트워크 정보도 일정 간격으로 변경됩니다. 따라서 아래 명령어를 사용하면 일정한 간격으로 netstat 네트워크 정보를 자동으로 새로 고칠 수 있습니다:
netstat -n 5
새로 고침을 중지하려면 CTRL + C 키 조합을 누르면 됩니다.
참고: 위 명령어의 5는 5초마다 결과를 새로 고친다는 의미입니다. 시간 간격을 늘리거나 줄이고 싶다면 이 값을 자유롭게 수정할 수 있습니다.
2] netstat 매개변수로 연결 정보 필터링하기
netstat 명령어는 장치의 연결에 대한 모든 세부 정보를 보여주는 강력한 도구입니다. 특정 네트워크 정보를 찾을 때 가장 많이 사용되는 netstat 매개변수들을 살펴보겠습니다.
- 활성 및 비활성 연결 표시
활성화되거나 비활성화된 네트워크를 모두 표시합니다.
netstat -a
- 애플리케이션 정보 표시
연결과 관련된 모든 애플리케이션 목록을 보여줍니다.
netstat -b
- 네트워크 어댑터 통계 보기
들어오고 나가는 네트워크 패킷에 대한 통계를 표시합니다.
netstat -e
- 원격 주소의 FQDN(정규화된 도메인 이름) 표시
포트 번호나 이름 대신 원격 주소의 정규화된 도메인 이름(FQDN)을 확인하고 싶다면 다음 매개변수를 사용하세요.
netstat -f
- 포트 이름 대신 포트 번호 표시
원격 주소의 포트 이름을 포트 번호로 변경하여 표시합니다.
netstat -n
- 프로세스 ID 표시
netstat와 유사하지만 각 연결의 프로세스 ID(PID)를 보여주는 추가 열이 있습니다.
netstat -o
- 프로토콜별 연결 필터링
지정한 프로토콜(UDP, TCP, tcpv6, udpv6)의 연결만 표시합니다.
netstat -p udp
참고: udp 부분을 확인하려는 프로토콜 이름으로 변경하세요.
- 수신 대기 및 바인딩된 포트 보기
연결과 함께 수신 대기(listening) 중인 포트와 바인딩된 비수신(non-listening) 포트를 표시합니다.
netstat -q
- 프로토콜별 통계 그룹화
사용 가능한 프로토콜(UDP, TCP, ICMP, IPv4, IPv6)별로 네트워크를 분류하여 통계를 보여줍니다.
netstat -s
- 라우팅 테이블 표시
현재 네트워크의 라우팅 테이블을 표시합니다. 시스템에서 사용 가능한 모든 경로(destination)와 메트릭(metric)을 나열하며, route print 명령어와 유사한 결과를 제공합니다.
netstat -r
- 오프로드 상태 연결 표시
현재 연결의 오프로드(offload) 상태 목록을 보여줍니다.
netstat -t
- NetworkDirect 연결 확인
모든 NetworkDirect 연결을 표시합니다.
netstat -x
- 연결 템플릿 표시
네트워크의 TCP 연결 템플릿을 보여줍니다.
netstat -y
3] Netstat 매개변수 조합하기
Netstat 매개변수를 조합하면 원하는 방식대로 연결 정보를 더욱 세밀하게 필터링할 수 있습니다. 위에서 소개한 명령어에 두 번째 매개변수만 추가하면 결합된 결과를 확인할 수 있습니다.
예를 들어 -s와 -e 매개변수를 조합하면 각 프로토콜별 통계를 한 번에 확인할 수 있습니다. 이런 식으로 다른 매개변수들도 조합하여 원하는 결과를 얻을 수 있습니다.
여러 개의 Netstat 매개변수를 조합할 때는 하이픈(-)을 두 번 입력할 필요가 없습니다. 하나의 하이픈(-) 뒤에 매개변수 문자를 붙여 쓰면 됩니다.
예를 들어 다음과 같이 입력하는 대신:
netstat -s -e
아래처럼 간결하게 작성할 수 있습니다:
netstat -se
매개변수를 잊어버렸다면 netstat에게 직접 도움을 요청하는 것이 빠른 방법입니다. 다음 명령어를 실행하면 전체 매개변수 목록을 확인할 수 있습니다:
netstat /?
언제든지 netstat 조회 프로세스를 중지하려면 CTRL + C 키 조합을 누르세요.