Network

[Network] netstat란? netstat 명령어/옵션 정리

yeit 2024. 1. 25. 20:08
728x90

 

netstat란?

  • 네트워크 상태에 대한 정보 보여주는 명령어
  • 현재 네트워크 상태, 연결, 라우팅 테이블 등 다양한 네트워크 관련 정보를 표시해준다.

 

옵션

  • a 또는 --all : 모든 소켓(연결)을 표시
  • -t 또는 --tcp : TCP 프로토콜 관련 정보만 표시
  • -u 또는 --udp : UDP 프로토콜 관련 정보만 표시
  • -n 또는 --numeric : 호스트명 대신 IP로 표시
  • -p 또는 --program : 소켓과 연결된 프로세스의 정보를 표시
  • -r 또는 --route : 라우팅 테이블 표시
  • -l 또는 --listening : 대기 중인 연결만 표시
  • -s 또는 --statistics : 프로토콜별 통계 정보를 표시
  • -c 또는 --continuous : 지속적으로 업데이트되는 실시간 정보를 보여줌

 

netstat -a

  • Proto : 프로토콜 (TCP, UDP 등)
  • Recv-Q : TCP 소켓에서 수신 대기 중인 데이터의 큐
                    0이 아닌 경우, 소켓이 데이터를 수신하고 처리하지 못한 데이터가 큐에 대기 중이라는 것을 의미
  • Send-Q : TCP 소켓에서 송신 대기 중인 데이터의 큐     
                     0이 아닌 경우, 소켓이 보내야 할 데이터가 큐에 대기 중이라는 것을 의미
  • Local Address : 로컬 주소 및 포트 번호
  • Foreign Address : 원격(상대방) 주소 및 포트 번호
  • State : 연결 상태
    • LISTEN : 연결을 기다리고 있는 상태, 포트가 열려있음
    • SYN_SENT (SYN 전송 중): 클라이언트가 서버에게 연결을 요청한 상태로, SYN 패킷을 보낸 상태
    • SYN_RECEIVED (SYN 수신 중): 서버가 클라이언트의 연결 요청(SYN)을 받은 상태로, SYN-ACK 패킷을 보낸 상태
    • ESTABLISHED : 연결 완료, 데이터를 주고받을 수 있는 상태
    • FIN_WAIT_1 : 송신자가 연결을 종료했고, 상대편에게 확인을 기다리는 상태
    • FIN_WAIT_2 : 수신자가 연결 종료를 확인한 상태
    • CLOSE_WAIT : 상대방(원격 피어)이 연결 종료를 요청, 로컬 소켓은 해당 종료 확인을 위해 대기하고 있는 상태
    • LAST_ACK : 로컬 소켓이 연결 종료를 요청하고 확인을 기다리는 상태
    • TIME_WAIT : 연결은 종료되었으나 마지막 패킷이 소멸하기 전까지 대기 중인 상태
    • CLOSED : 소켓이 완전히 종료되어 더 이상 데이터를 주고받을 수 없는 상태
    • 참고) [Network] 3-way handshake, 4-way handshake 정리 (tistory.com)

 

 

netstat -na

netstat -a와는 다르게 -n옵션을 추가하면 호스트명을 IP로 표시해준다.

 

 

netstat -nltp

현재 시스템에서 수신 대기 중인 TCP 소켓에 대한 정보를 보여준다.

728x90