티스토리 뷰

Linux

ubuntu netstat 명령어 정리

naleejang 2012. 2. 1. 17:07
netstat는 ubuntu linux의 network 정보를 확인할 수 있는 명령어로써 다음과 같이 사용할 수 있다.

#netstat -nap (열려 있는 모든 포트)
#netstat -l 또는 netstat -nap | grep LISTEN (LISTEN 되는 모든 포트)
#netstat -nap | grep ESTABLISHED | wc -l ( 모든 서비스 동시 접속자 수)
#netstat -nap | grep :80 | grep ESTABLISHED | wc -l ( 웹 동시 접속자 수)
#netstat -natc (열려있는 모든 TCP 포트를 일정시간마다 반복 출력한다) 



netstat를 명령어를 실행해 보면 위와 같은 결과를 화면으로 만나볼 수 있다. 이때 사용되는 용어들에 대해서 간단히 정리해 보도록 하겠다.

Recv-Q 

프로그램이 소켓을 맺고 카피되지 않은 바이트의 수이다.


Send-Q

리모트 호스트에 의해 응답(ACK) 되지 않은 바이트의 수이다.


LISTEN

서버 애플리케이션이 적재되어 수동적인 모드로 포트를 개설하였음을 의미로 TCP는 연 결요청이 수신 되기를 기다리고 있다.


ESTABLISHED

가상회선이 작동되는데, 3단계 핸드셰이킹 과정이 완료되면 두 시스템은 이 상태에 들어간다.


SYN-SENT

로컬 시스템의 클라이언트 애플리케이션이 원격 호스트에 능동적인 개설을 요청한다. TCP는 Synchronize flag 를 설정한 시작 세그먼트를 전송 하였으며, 원격 시스템도 역시 Synchronize flag 를 설정한 시작 세그먼트로 응답할 것을 기다린다.


SYN-RECEIVED

서버의 TCP가 원격 클라이언트로부터 Synchronize flag가 설정된 시작 세그먼트를 수신하였고 자신의 시작 세그먼트로 응답 하였으며, 그 세그먼트에 대한 확인메세지를기다린다.


FIN-WAIT-1

로컬 애플리케이션은 가상 회선에 능동적인 종결을 요청하였으며, TCP는 Finish flag가 설정된 종결 세그먼트를 전송한다. 그러나 TCP는 아직도 원격 시스템이 세그먼트에 대한 확인 메세지와 자신만의 종결 세그먼트로 응답하기를 기다린다. 회선이 완전히 종결될 때까지 원격 시스템으로부터 데이터는 수신하지만, 추가적인 데이터를 전송하지는않는다.


FIN-WAIT-2

(FIN-WAIT-1 의 설명과 처럼) 로컬 TCP는 Finish flag 가 설정된 종결 세그먼트를 전송하였으며, (WAIT-CLOSE 의 설명대로) 원격 시스템으로 부터 그 세그먼트에 대한 확인 메세지를 수신한다. 그러나 원격 애플리케이션이 아직 작업을 종료 하지 않아 원격TCP가 자신의 종결 세그먼트를 생성하지 못하고 있는 상태이다.


COLSE-WAIT

(FIN-WAIT-1 의 설명과 같이) Finish flag 가 설정된 종결 세그먼트가 수신되었고 로컬 TCP는 그 세그먼트에 대한 확인 메세지를 송신 시스템에 전송한다. 그러나 로컬 TCP는 로컬 애플리케이션에서 작업을 종료하지않아 자신의 종결 세그먼트를 생성하지 못한다.


LAST-ACK

(FIN-WAIT-1의 설명과 같이) Finish flag 가 설정된 종결 세그먼트가 수신되었고, 로컬 애플리케이션은 회선의 종결에 합의하여 자신도 종결을 요청한다. 그 결과 로컬 TCP는 Finish flag 가 설정된 자신의 종결 세그먼트를 전송 하였으며, 이 세그먼트에 대한 확인 메세지가 수신되면 종결된다.


CLOSING

이 상태는 흔하지 않으며, 일반적으로 세그먼트가 네트워크에서 분실되었다는것을 나타낸다. 이런 경우 로컬 TCP는 (FIN-WAIT-1 의 설명과 같이) Finish flag 가 설정된 종결 세그먼트를 전송 하고 (LAST-ACK 의 설명과 같이) 원격 시스템의 종결 세그먼트도 수신하였지만, FIN-WAIT-1 단계에서 전송한 세그먼트에 대한 확인 메세지가 수신되지않은 상태이다. 이 상태는 보통 확인 메세지가 전송 도중 분실되었다는 의미이다.


TIME-WAIT

회선의 종결 절차가 완결되었으나 TCP 는 분실되었을지 모르는 느린 세그먼트를 위해당분간 소켓을 열어 놓은 상태로 유지한다. 이 상태는 새로운 연결이 기존의 연결에서 사용된 일련번호를 다시 사용하는 것을 막는다. 원격 시스템이 종결하는 호스트로부터 더이상 데이터를 수신할 가능성이 없으므로, 이 상태는 능동적인 종결을 요청한 호스트에서만 나타난다.


CLOSED

아무일도 발생하지 않는다. 회선은 종결되었고, TCP는 그 가상 회선에 사용하였던 모든자원을 놓아준다. 이 상태를 보여줄 수 있는 가상 회선이 없으므로 아무 일도 발생하지 않는다.

'Linux' 카테고리의 다른 글

[ubuntu] adduser 기능 및 옵션  (0) 2013.01.30
Windows7에서 Ubuntu Install USB 만들기  (0) 2012.12.08
Ubuntu Memory 정보 알아보기  (2) 2012.03.22
Ubuntu CPU 정보 알아보기  (2) 2012.01.27
Ubuntu CPU 프로세스 알아보기  (0) 2012.01.27
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함