netstat 명령어 옵션 및 네트워크 상태 확인

netstat(Network Statistics) 란?

네트워크 인터페이스의 통계 정보, 라우팅 테이블, 전송 제어 프로토콜, 네트워크 상태를 종합적으로 보여주는 명령 줄 도구입니다. 

 

netstat 옵션

옵션 기능
-r 라우팅 테이블 리스트 표시
-i 인터페이스별 통계 값 표시
-g 멀티 캐스트에 대한 그룹별 정보 표시
-M 마스커레이딩 정보 표시
-v 자세한 정보를 통해 사용자에게 진행 상황을 표시
-W RAW 프로토콜 표시
-n 주소와 포트 형식을 숫자 형식으로 표시
-s 프로토콜별 요약 정보 표시
-e 확장된 정보 출력
-p 프로레스 이름 / PID
-o 연결 대기 시간 표시
-c 현재 실행 명령어를 초단위로 실행
-l Listen 소켓에 대하여 표시
-a 모든 연결 및 수신 대기 포트 표시

 

 

netstat 상태 값

State Description
FIN_WAIT1 클라이언트가 서버에게 연결을 끊고자 요청하는 상태(FIN을 보낸 상태)
FIN_WAIT2 서버가 클라이언트로부터 연결 종료 응답을 기다리는 상태
(서버가 클라이언트로부터 최초로 FIN을 받은 후, 클라이언트에게 ACK를 주었을 때)
LAST_ACK 호스트가 원격지 호스트의 연결 종료 요구 승인을 기다리는 상태
(서버가 클라이언트에게 FIN을 보냈을 때의 상태)
 LISTEN 서버의 데몬이 떠 있어서 클라이언트의 접속 요청을 기다리고 있는 상태
 CLOSED 완전히 연결이 종료된 상태
 CLOSING 흔하지 않으나 주로 확인 메시지가 전송 도중 유실된 상태
 CLOSE_WAIT TCP 연결이 상위 응용프로그램 레벨로부터 연결 종료를 기다리는 상태
ESTABLISHED 서버와 클라이언트 간에 세션 연결이 성립되어 통신이 이루어지고 있는 상태
(클라이언트가 서버의 SYN을 받아서 세션이 연결된 상태)
SYN_SENT 클라이언트가 서버에게 연결을 요청한 상태
SYN_RECEIVED 서버가 클라이언트로부터 접속 요구(SYN)을 받아 클라이언트에게 응답(SYN/ACK)하였지만,
아직 클라이언트에게 확인 메시지(ACK)는 받지 못한 상태
TIME_WAIT 연결은 종결되었지만 당분간 소켓을 열어 놓은 상태, 약 1분 정도이며 시간이 지나면 사라짐
UNKNOWN  소켓의 상태를 알 수 없음

 

실 서비스에서 많이 사용하는 명령어 중 하나입니다. 서버에 공격이 계속되는 경우 서버의 자원이 소모되며 자원이 부족해지는 현상이 발생합니다. 이로 인해 지연 현상 및 기타 서비스들에 대한 자원 부족으로 서버 상태가 hang으로 빠지게 됩니다. netstat 명령어를 통해 IP를 확인 후 차단 진행하기도 합니다.

댓글

Designed by JB FACTORY