Netstat 명령을 사용하는 방법

예제, 스위치 등

netstat 명령 은 컴퓨터가 다른 컴퓨터 또는 네트워크 장치와 통신하는 방법에 대한 매우 자세한 정보를 표시하는 데 사용되는 명령 프롬프트 명령 입니다.

특히 netstat 명령은 개별 네트워크 연결, 전체 및 프로토콜 관련 네트워킹 통계에 대한 세부 정보를 표시 할 수 있으며 이러한 모든 정보는 특정 종류의 네트워킹 문제를 해결하는 데 도움이 될 수 있습니다.

Netstat 명령 가용성

netstat 명령은 Windows 10 , Windows 8 , Windows 7 , Windows Vista , Windows XP , Windows Server 운영 체제 및 일부 이전 버전의 Windows를 비롯한 대부분의 Windows 버전의 명령 프롬프트 에서 사용할 수 있습니다.

주 : 특정 netstat 명령 스위치 및 기타 netstat 명령 구문 의 가용성은 운영 체제마다 다를 수 있습니다.

Netstat 명령 구문

netstat [ -a ] [ -b ] [ -e ] [ -f ] [ -n ] [ -p 프로토콜 ] [ -r ] [ -s ] [ -t ] [ -x ] [ -y ] [ time_interval ] [ /? ]

팁 : 위와 같이 netstat 명령 구문을 읽는 방법을 잘 모르는 경우 명령 구문 읽기 방법을 참조하십시오.

netstat 명령을 단독으로 실행하여 로컬 IP 주소 (컴퓨터), 외부 IP 주소 (다른 컴퓨터 또는 네트워크 장치) 및 각각의 해당 TCP 연결을 비교적 간단한 목록으로 보여줍니다. 포트 번호뿐만 아니라 TCP 상태.

-a =이 스위치는 활성 TCP 연결, 청취 상태의 TCP 연결 및 청취중인 UDP 포트를 표시합니다.

-b =이 netstat 스위치는 아래에 나열된 -o 스위치와 매우 유사하지만 PID를 표시하는 대신 프로세스의 실제 파일 이름을 표시합니다. -b over -o를 사용하면 1 ~ 2 단계를 절약하는 것처럼 보일 수 있지만 사용하면 netstat가 완전히 실행되는 데 걸리는 시간이 크게 늘어날 수 있습니다.

-e =이 스위치를 netstat 명령과 함께 사용하면 네트워크 연결에 대한 통계를 볼 수 있습니다. 이 데이터에는 연결이 설정된 이후에 수신 및 전송 된 바이트, 유니 캐스트 패킷, 비 유니 캐스트 패킷, 삭제, 오류 및 알 수없는 프로토콜이 포함됩니다.

-f = -f 스위치는 가능한 경우 각 외부 IP 주소의 FQDN ( 정규화 된 도메인 이름) 을 표시하도록 netstat 명령을 강제 실행합니다.

-n = -n 스위치를 사용하여 netstat가 외부 IP 주소의 호스트 이름 을 판별하지 못하도록합니다. 현재 네트워크 연결에 따라이 스위치를 사용하면 netstat가 완전히 실행되는 데 걸리는 시간을 상당히 줄일 수 있습니다.

-o = 많은 문제 해결 작업에 편리한 옵션 인 -o 스위치는 표시된 각 연결과 관련된 프로세스 식별자 (PID)를 표시합니다. netstat -o 사용에 대한 자세한 내용은 아래 예를 참조하십시오.

-p = 특정 프로토콜에 대해서만 연결 또는 통계를 표시하려면 -p 스위치를 사용하십시오. 한 번에 둘 이상의 프로토콜 을 정의 할 수 없으며 프로토콜 을 정의하지 않고 -p 와 함께 netstat를 실행할 수도 없습니다.

protocol = -p 옵션으로 프로토콜 을 지정할 때 tcp , udp , tcpv6 또는 udpv6을 사용할 수 있습니다. 프로토콜을 기준으로 -s-p 를 사용하여 통계를 보는 경우 앞서 언급 한 처음 네 가지 외에 icmp , ip , icmpv6 또는 ipv6 을 사용할 수 있습니다.

-r = netstat를 -r 과 함께 실행하여 IP 라우팅 테이블을 표시합니다. 이는 route 명령을 사용하여 route print 를 실행하는 것과 같습니다.

-s = -s 옵션을 netstat 명령과 함께 사용하여 프로토콜별로 자세한 통계를 표시 할 수 있습니다. -s 옵션을 사용하고 해당 프로토콜을 지정하면 표시되는 통계를 특정 프로토콜로 제한 할 수 있지만 스위치를 함께 사용할 때는 -s 프로토콜 앞에 -s 를 사용해야합니다.

-t = 일반적으로 표시된 TCP 상태 대신 현재 TCP Chimney 오프로드 상태를 표시하려면 -t 스위치를 사용하십시오.

-x = 모든 NetworkDirect 리스너, 연결 및 공유 엔드 포인트를 표시하려면 -x 옵션을 사용하십시오.

-y = -y 스위치를 사용하여 모든 연결에 대한 TCP 연결 템플리트를 표시 할 수 있습니다. 다른 netstat 옵션과 함께 -y 를 사용할 수 없습니다.

time_interval = 이것은 netstat 명령을 자동으로 다시 실행하고 Ctrl-C 를 사용하여 루프를 종료 할 때만 중지 할 시간 (초)입니다.

/? = 도움말 스위치 를 사용하여 netstat 명령의 여러 옵션에 대한 세부 사항을 표시하십시오.

팁 : 리디렉션 운영자를 사용하여 화면에 표시되는 내용을 텍스트 파일 로 출력하여 명령 줄의 모든 netstat 정보를보다 쉽게 ​​사용할 있습니다. 자세한 지침 은 명령 출력을 파일로 리디렉션하는 방법을 참조하십시오.

Netstat 명령 예제

netstat -f

이 첫 번째 예에서는 netstat를 실행하여 모든 활성 TCP 연결을 표시합니다. 그러나 간단한 IP 주소 대신 FQDN 형식 [ -f ]로 연결된 컴퓨터를보고 싶습니다.

다음은 사용자가 볼 수있는 예입니다.

활성 연결 Proto 로컬 주소 외부 주소 상태 TCP 127.0.0.1:5357 VM-Windows-7 : 49229 TIME_WAIT TCP 127.0.0.1:49225 VM-Windows-7 : 12080 TIME_WAIT TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168 .1.14 : 49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49230 TIM-PC : wsd TIME_WAIT TCP 192.168.1.14:49231 TIM-PC : icslap ESTABLISHED TCP 192.168.1.14:49232 TIM-PC : netbios-ssn TIME_WAIT TCP 192.168.1.14:49233 TIM-PC : netbios-ssn TIME_WAIT TCP [:: 1] : 2869 VM-Windows-7 : 49226 ESTABLISHED TCP [:: 1] : 49226 VM-Windows-7 : icslap ESTABLISHED

보시다시피 netstat을 실행 한 시점에 11 개의 활성 TCP 연결이있었습니다. 나열된 유일한 프로토콜 ( Proto 열에 있음)은 TCP입니다. -a를 사용하지 않았기 때문에 예상했습니다.

Local Address 열에 실제 IP 주소 192.168.1.14 와 각 루프백 주소 의 IPv4 및 IPv6 버전, 각 연결에서 사용하는 포트와 함께 3 세트의 IP 주소를 볼 수도 있습니다. 외부 주소 열에는 해당 포트와 함께 FQDN ( 75.125.212.75 가 어떤 이유로 든 해결되지 않음)이 나열됩니다.

마지막으로 State 열에는 해당 연결의 TCP 상태가 나열됩니다.

netstat -o

이 예제에서는 netstat를 정상적으로 실행하여 정상적인 TCP 연결 만 표시하도록하고 있지만 각 연결에 대해 해당 프로세스 식별자 [ -o ]를보고 싶기 때문에 내 컴퓨터에서 어떤 프로그램이 각 프로그램을 시작했는지 확인할 수 있습니다.

내 컴퓨터가 표시되는 내용은 다음과 같습니다.

활성 연결 Proto 로컬 주소 외부 주소 상태 PID TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT 2948 TCP 192.168.1.14:49196 a795sm : http CLOSE_WAIT 2948 TCP 192.168.1.14:49197 a795sm : http CLOSE_WAIT 2948

PID 열을 발견했을 것입니다. 이 경우 PID는 모두 동일하므로 내 컴퓨터의 동일한 프로그램이 이러한 연결을 열었습니다.

내 컴퓨터에서 2948 의 PID로 표시되는 프로그램을 확인하려면 작업 관리자를 열고 프로세스 탭을 클릭 한 다음 PID 열에서 찾고있는 PID 옆에 나열된 이미지 이름을 기록하면됩니다. . 1

netstat 명령을 -o 옵션과 함께 사용하면 어떤 프로그램이 대역폭 을 너무 많이 사용하는지 추적 할 때 매우 유용 합니다 . 또한 어떤 종류의 멀웨어 또는 그렇지 않은 경우 합법적 인 소프트웨어가 사용자의 허가없이 정보를 전송할 수있는 목적지를 찾는 데 도움이 될 수 있습니다.

참고 : 이 예제와 이전 예제가 모두 동일한 컴퓨터에서 실행되고 서로의 단 1 분 내에 실행되었지만 활성 TCP 연결 목록이 상당히 다를 수 있습니다. 이는 컴퓨터가 네트워크상의 다른 여러 장치에 지속적으로 연결되어 있고 인터넷에서 끊어지고 있기 때문입니다.

netstat -s -p tcp -f

이 세 번째 예에서 프로토콜 별 통계 [ -s ]를 볼 수는 있지만 모든 통계가 아니라 TCP 통계 [ -p tcp ] 만보 고 싶습니다. 또한 외국 주소를 FQDN 형식 [ -f ]로 표시하려고합니다.

위의 그림과 같이 netstat 명령이 내 컴퓨터에서 생성 된 것입니다.

IPv4 활성 상태의 TCP 통계 = 77 패시브 열기 = 21 실패한 연결 시도 = 2 현재 연결 = 25 현재 연결 = 5 세그먼트 수신 = 7313 세그먼트 전송 = 4824 재전송 세그먼트 = 5 활성 연결 프로토 로컬 주소 외부 주소 상태 TCP 127.0.0.1 : 2869 VM-Windows-7 : 49235 TIME_WAIT TCP 127.0.0.1:2869 VM-Windows-7 : 49238 TCP 127.0.0.1:49238 설정 됨 VM-Windows-7 : icslap ESTABLISHED TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT

보시다시피, TCP 프로토콜에 대한 다양한 통계가 표시되며, 그 때의 모든 활성 TCP 연결도 표시됩니다.

netstat -e -t 5

이 마지막 예에서 netstat 명령을 실행하여 몇 가지 기본 네트워크 인터페이스 통계 [ -e ]를 표시했으며이 통계가 5 초마다 [ -t 5 ] 명령 창에서 지속적으로 업데이트되기를 바랍니다.

다음은 화면에서 제작되는 내용입니다.

인터페이스 통계 수신 된 바이트 수 22132338 1846834 유니 캐스트 패킷 19113 9869 비 유니 캐스트 패킷 0 0 폐기 0 0 오류 0 0 알 수없는 프로토콜 0 인터페이스 통계받은 바이트 수 22134630 1846834 유니 캐스트 패킷 19128 9869 비 유니 캐스트 패킷 0 0 폐기 0 0 오류 0 0 알 수 없음 프로토콜 0 ^ C

여기에서 볼 수 있고 위의 -e 구문에 나열된 다양한 정보가 표시됩니다.

netstat 명령은 결과에서 두 테이블로 볼 수 있듯이 추가 시간을 자동으로 실행합니다. 맨 아래의 ^ C 는 Ctrl-C abort 명령을 사용하여 명령을 다시 실행하지 않음을 나타냅니다.

Netstat 관련 명령

netstat 명령은 종종 nslookup, ping , tracert , ipconfig 등과 같은 다른 네트워킹 관련 명령 프롬프트 명령과 함께 사용됩니다.

[1] 작업 열에 PID 열을 수동으로 추가해야 할 수 있습니다. 보기 -> 작업 관리자에서 열 선택에서 "PID (프로세스 식별자)"확인란을 선택하여이 작업을 수행 할 수 있습니다. 찾고있는 PID가 목록에 없으면 프로세스 탭에서 "모든 사용자의 프로세스 표시"버튼을 클릭해야 할 수도 있습니다.