본문 바로가기

OS/Network

네트워크 상태 확인 명령어 netstat 이란?

728x90

netstatnetwork statistics 의 약자로 네트워크 상태를 모니터링하도록 도와주는 명령어입니다.

전송제어 프로토콜, 라우팅 테이블, 네트워크 인터페이스 통계 등을 확인할 수 있습니다.

※ 리눅스와 윈도우 모두 사용할 수 있지만 옵션값이 차이가 있습니다.

 

netstat 사용 방법 

netstat [옵션]

옵션 - 윈도우
-a: 모든 연결 및 수신 대기 포트를 표시합니다. // (주로 많이 사용)
-n: "IP주소:포트" 형태로 표시합니다.  // (주로 많이 사용)
-o: PID를 표시합니다. // (주로 많이 사용)

-r : 라우팅 테이블을 표시합니다.

-e : 인터페이스 통계를 표시합니다. (랜카드에서 송수신한 패킷의 용량 및 종류)

-s : 프로토콜별 통계를 표시합니다.

 

ex) netstat 명령어로 mysql이 사용 중인 PID를 찾아봅니다.

※ 포트를 제대로 알고 있다면 find / findstr 명령어를 이용하여 검색가능

ex) 특정 포트에 연결된 ip 주소 찾아봅니다. (443 포트로 연결된 ip 확인)
* 왼쪽이 로컬주소 오른쪽이 외부주소

※ tasklist /FI "PID eq [PID]"을 이용하여 찾은 프로세스를 종료할 수 있습니다.

 

옵션 - 리눅스

-a: 모든 연결 및 수신 대기 포트를 표시합니다. // (주로 많이 사용)
-n: "IP주소:포트" 형태로 표시합니다.  // (주로 많이 사용)
-p: PID와 프로그램명을 표시합니다. // (주로 많이 사용)

-l : Listening 상태를 표시합니다. // (주로 많이 사용)

-r : 라우팅 테이블을 표시합니다.

-e : 인터페이스 통계를 표시합니다. (랜카드에서 송수신한 패킷의 용량 및 종류)

-s : 프로토콜별 통계를 표시합니다.

-t : TCP 프로토콜을 표시합니다. // (주로 많이 사용)

-u : UDP 프로토콜을 표시합니다.

반응형

ex) netstat 명령어로 mysql이 사용 중인 PID를 찾아봅니다.

※ 포트를 제대로 알고 있다면 grep 명령어를 이용하여 검색가능

※ kill -9 [PID]을 이용하여 찾은 프로세스를 종료할 수 있습니다.

 

netstat으로 확인 가능한 상태 값 설명

상태 설명
LISTEN 서비스 연결 대기중 상태
ESTABLISHED 서버와 클라이언트가 서로 연결된 상태
SYN_SENT 클라이언트가 서버에 SYN 패킷 전송 후 연결 요청 상태
SYN_RECV 서버가 클라이언트의 SYN 패킷 수신 후 클라이언트에게 ACK 패킷 오기 전 대기 상태
FIN_WAIT1 클라이언트가 서버에 연결을 끊고자 FIN을 보낸 상태
FIN_WAIT2 서버가 클라이언트의 FIN을 받고 ACK를 보낸 상태
CLOSE_WAIT 원격 연결 요청을 받은 상태로 연결 종료를 기다리는 상태
LAST_ACK 연결이 종료되고 승인을 기다리는 상태
CLOSED 연결 종료 상태

 

728x90
반응형