[Linux] netstat 명령어 (네트워크 연결 상태 확인)

워네·2022년 8월 8일
0

🐧 Linux

목록 보기
9/9
post-thumbnail

📌 netstat 명령어 사용법 & 옵션 정리

네트워크 접속, 라우팅 테이블, 네트워크 인터페이스의 통계 정보를 보여주는 도구이다.
리눅스 환경과 윈도우 cmd 모두에서 사용할 수 있다.

사용 방법 : netstat [옵션] | [포트번호 or 서비스 명]


📖 netstat 옵션

-a : 모든 네트워크 상태출력 (all)

-c : 현재 실행 명령을 매 초바다 실행 [continuous]

-e : 확장된 정보 출력 [extend]

-g : 멀티캐스트에 대한 그룹별 정보 출력 [-groups]

-i : 인터페이스별 통계값 출력 [interface]

-l : 대기중인 네트워크 [listening]

-n : 도메인 주소를 숫자로 출력 [numeric]

-o : 연결 대기 시간 출력 [timers]

-p : PID(프로세서 ID)와 사용중인 프로그램명 출력 [program]

-r : 라우팅 테이블 출력 [route]

-s : 프로트콜 요약 정보 출력 [statistics]

-t : TCP 프로토콜만 출력 [tcp]

-u : UDP 프로토콜만 출력 [udp]

-v : 버전출력

-w : RAW 프로토콜만 출력 [raw]

-A : 프로토콜별로 출력 [protocol]

-M : 마스커레이딩 정보 출력 [maquerade]


📖 자주 사용하는 옵션

netstat -nap : 연결을 기다리는 목록과 프로그램을 보여준다.

netstat -an | grep 포트번호 : 특정 포트가 사용 중인지 확인한다.

netstat -nlpt : TCP listening 상태의 포트와 프로그램을 보여준다.

netstat -anb : 자세한 라이브러리까지 보여주어 유용성이 커 보이지만 결과를 호출하는 시간이 오래걸린다.

netstat -ano : -anb 대용으로 사용되어서 PID를 표시한다.

netstat 명령어 뒤에 숫자를 붙이면 ex) 5 5초에 한 번씩 명령어를 친 결과가 출력된다.


📖 netstat 상태 값 분석

CLOSED : 완전히 연결이 종료된 상태

CLOSING : 흔하지 않으나 주로 확인 메세지가 전송 도중 유실된 상태

CLOSE_WAIT TCP : 연결이 상위 응용프로그램 레벨로부터 연결 종료를 기다리는 상태

ESTABLISHED : 서버와 클라이언트 간에 세션 연결이 성립되어 통신이 이루어지고 있는 상태 (클라이언트가 서버의 SYN을 받아서 세션이 연결된 상태)

FIN_WAIT1 : 클라이언트가 서버에게 연결을 끊고자 요청하는 상태 (FIN을 보낸 상태)

FIN_WAIT2 : 서버가 클라이언트로부터 연결 종료 응답을 기다리는 상태 (서버가 클라이언트로부터 FIN 받은 후, 클라이언트에게 ACK 보냈을 때)

LAST_ACK : 호스트가 원격지 호스트의 연결 종료 요구 승인을 기다리는 상태 (서버가 클라이언트에게 FIN을 보냈을 때)

LISTEN : 서버의 데몬이 떠 있어서 클라이언트의 접속 요청을 기다리고 있는 상태

SYN_SENT : 클라이언트가 서버에게 연결을 요청한 상태

SYN_RECEIVED : 서버가 클라이언트로부터 접속 요구(SYN)를 받아 클라이언트에게 응답 (SYN/ACK)하였지만, 아직 클라이언트에게 확인 메세지 (ACK)는 받지 못한 상태

TIME_WAIT : 연결은 종료되었지만 당분간 소켓을 열어놓은 상태, 약 1분정도이며 시간이 지나면 사라짐

UNKNOWN : 소켓의 상태는 알 수 없음

profile
front-end developer 🐣

0개의 댓글