본문 바로가기
IT/linux

linux netstat 용어 설명

by 어느해겨울 2022. 1. 18.

linux netstat 용어 설명

 

netstat -antp 실행 화면
본인의 서버에서 netstat 를 실행한 화면이다.
이번에는 netstat 의 각 항목에 대한 설명을 진행하고 netstat 의 옵션은 추후에 기회가 되면 포스팅하겠다.

Proto
- 해당 네트워크 행위의 프로토콜을 명세한다. tcp인지 udp인지, ipv6인지.
위의 화면에서는 -antp의 t의 옵션으로 tcp만 출력한다.


Recv-Q
- 해당 프로세스가 받은 network data의 양을 의미한다.
원격으로부터 수신받은 데이터는 linux system queue에 buffer 되어있다가 프로세스에서 준비되면 buffer 된 데이터를 읽어가는 방식으로 동작한다. 
Recv-Q가 줄지않고 계속 늘어난다면 프로세스의 수신부에 문제가 있다고 생각하면 된다.


Send-Q
- 해당 프로세스가 송신하는 network data의 양을 의미한다.
원격으로 데이터가 송신되기전 network interface에서 송신이 가능하다는 interrupt가 발생하기 전까지 대기하는 buffer이다. Send-Q가 계속 늘어난다면 송신이 지나치게 빠르거나, 수신 측이 데이터를 처리할 수 없는 상태라고 생각하면 된다.


Local Address
- 로컬(자신)이 서비스하는 서버의 상태와 원격으로 접속된 경우엔 로컬 프로세스에 할당된 포트정보를 나타낸다.
* 로컬 서비스 서버 상태 
  > 0.0.0.0:port - INADDR_ANY의 의미로 외부 접속을 허용하는 상태이다. port 스캐닝 시 이러한 프로세스의 포트가 검출된다.
  > 127.0.0.1:port - local only의 의미로 외부 접속이 불가하고 동일한 local 프로세스끼리만 통신이 가능하다. 포트 스캐닝 시 검출되지 않는다.
  > 192.168.1.100:port - 현재 장치와 원격지가 세션을 맺었단 의미이다. 로컬에서 열린 포트로 접속을 했을 수 도있고, 로컬이 원격으로 접속했을 수도 있다. 이경우 포트는 사용 가능한 무작위의 포트가 사용된다.
  > :::port - IPv6 대응 외부 접속을 허용하는 상태이다.


Foreign Address
- 원격에서 접속된, 또는 원격으로 접속한 세션의 IP주소와 포트 정보를 나타낸다.
즉 로컬 프로세스와 세션을 맺은 상대에 대한 정보이다.


State
- 연결 상태에 대한 설명을 한다.

구분 내용
LISTEN   서버의 데몬이 떠서 접속 요청을 기다리는 상태
SYS_SENT 로컬의 클라이언트 어플리케이션이 원격 호스트에 연결을 요청한 상태
SYN_RECEIVED 서버가 원격 클라이언트로부터 접속 요구를 받아 클라이언트에게 응답을 하였지만 아직 클라이언트에게 확인 메시지는 받지 않은 상태
ESTABLISHED 3 Way-Handshaking 이 완료된 후 서로 연결된 상태
FIN-WAIT1,  CLOSE-WAIT,  FIN-WAIT2 CLOSE-WAIT,  FIN-WAIT2 :  서버에서 연결을 종료하기 위해 클라이언트에게 종결을 요청하고 회신을 받아 종료하는 과정의 상태
CLOSING 흔하지 않지만 주로 확인 메시지가 전송 도중 분실된 상태
TIME-WAIT 연결은 종료되었지만 분실되었을지 모를 느린 세그먼트를 위해 당분간 소켓을 열어놓은 상태
CLOSED 완전히 종료

 

PID/Program name
- 네트워크 요소를 수행하고 있는 프로세스의 PID와 프로세스명을 나타낸다.

 

끝.

 

 

댓글