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와 프로세스명을 나타낸다.
끝.
'IT > linux' 카테고리의 다른 글
mplayer slave mode, 파이프, 커맨드 사용 (0) | 2022.01.20 |
---|---|
리눅스 특정 프로세스 전부 종료시키기 / ps, grep, awk, xargs, kill (0) | 2022.01.19 |
출력에 색깔 입히기 정리 및 결과, ansi color (2) | 2022.01.17 |
임베디드 리눅스 보안 이슈 정리 (0) | 2022.01.17 |
linux coredump, core 파일 생성 방법, ulimit (2) | 2022.01.16 |
댓글