본문 바로가기

리눅스

netstat 명령어

반응형

netstat 명령어

netstat은 네트워크 상태(Network Statistics)를 확인하는 대표적인 유닉스/리눅스 명령어입니다. TCP/UDP 연결 현황부터 라우팅 테이블, 인터페이스 상태까지 시스템의 네트워크 전반을 실시간으로 점검할 수 있어 네트워크 진단 및 보안 점검 시 유용하게 활용됩니다.

netstat로 확인할 수 있는 정보

연결 정보 : 현재 열려 있는 TCP/UDP 연결 목록을 표시. 각 연결의 상태, 로컬 및 원격 주소, 포트 확인 가능

라우팅 테이블 : 패킷의 목적지에 따라 어디로 전달할지 결정하는 경로 테이블을 보여줌

네트워크 인터페이스 : 시스템에 설치된 네트워크 장치들의 상태 (IP, MAC, 전송량 등) 표시

netstat 설치

Debian/Ubuntu

sudo apt install net-tools

CentOS/RHEL

sudo yum install net-tools

기본 사용법

netstat [옵션]

자주 사용하는 옵션 정리

  • -a 모든 연결(리슨 포함) 및 소켓 정보 표시
  • -n 도메인명 대신 IP와 포트를 숫자로 출력
  • -t TCP 연결 정보만 표시
  • -u UDP 연결 정보만 표시
  • -r 현재 라우팅 테이블 표시
  • -i 네트워크 인터페이스 상태 표시
  • -p 각 연결에 관련된 프로세스 정보 표시 (root 권한 필요)

연결 상태 설명(TCP 상태)

ESTABLISHED : 연결이 정상적으로 설정되어 데이터 송수신 중

SYN_SENT : 연결 요청을 보냈지만 응답 대기 중

SYN_RECV : 연결 요청 수신 후 응답을 보낸 상태

FIN_WAIT1 : 연결 종료 요청(FIN) 후 ACK 대기 중

FIN_WAIT2 : 상대의 FIN 수신 후 종료 대기

TIME_WAIT : 종료 후 일정 시간 대기 (재충돌 방지)

CLOSE_WAIT : 상대방 종료 요청 수신 후 본인 종료 준비 중

LAST_ACK : 본인도 종료 요청을 보내고 ACK 대기 중

LISTEN : 연결 요청을 수신 대기 중 (서버 상태)

CLOSING : FIN 수신 후 ACK 전송, 상대 ACK 응답 대기 중

728x90

실전 예제

모든 연결 및 소켓 정보 출력

netstat -a

TCP 연결 정보만 보기

netstat -at

UDP 연결 정보만 보기

netstat -au

IP 및 포트를 숫자로 출력

netstat -an

라우팅 테이블 보기

netstat -r

프로세스 정보까지 함께 출력 (root 권한 필요)

netstat -anp

특정 포트(8080) 사용 여부 확인

netstat -an | grep 8080

"ESTABLISHED" 상태인 TCP 연결 수 확인

netstat -an | grep ESTABLISHED | wc -l

 

netstat는 단순히 네트워크 연결을 보여주는 도구가 아니라, 보안 침해 탐지, 서버 트래픽 분석, 애플리케이션 상태 점검 등 다양한 상황에서 유용한 필수 명령어입니다.

 

반응형