netstat -an 명령어는 현재 운영하고 있는 서버에 대한 외부의 네트워크 요청을 확인할 수 있는

유용한 명령어 입니다. 유닉스 뿐 아니라 윈도우에도 있네요...

 

Local Address는 자신의 아이피 입니다.

Foreign Address는 상대방의 아이피 입니다.

State는 접속방법입니다.

 

State의 대한 설명은 다음과 같습니다.

 

LISTEN : 현재열려있는 포트로써 누군가의 접속을 항상 기다리고 있는 포트입니다.

             즉 항상 열려있다는 뜻으로 허용한 포트 외의 포트가 Listening에 있다면

             그 원인을 잘 살펴봐야 합니다.

ESTABLISHED : 현재 정상적으로 연결이 된 포트로써 사용하고 있다는 의미입니다.

                       80번 포트에 이런 메시지가 있으면 웹브라우저를 통하고 홈폐이지

                       를 보고 있다는 뜻입니다. < 80번 포트는 인터넷 포트입니다. >

TIME_WAIT : 접속 후 사용이 종료되었으나 지정된 시간만큼 다른 명령이나 신호를

                   기다리고 있다는 의미입니다. 80번 포트는 웹브라우저의 요청에 대하여

                   홈폐이지 보여주기가 완전히 끝난뒤에도 다른 요청에 빨리 동작하기

                   위하여 15초정도 대기상태에 있습니다.

FIN_WAIT 1 : 포트가 닫혔으며 연결이 종료되기를 기다리는 상태입니다.

FIN_WAIT 2 : 연결이 완전히 닫힌 상태입니다.

SYN_SENT : 원격지에서 포트를 열려고 시도하는 중을 나타냅니다. 허용된 포트외의

                  다른포트에서 이런 메시지가 나오면 유심이 확인해 봐야 합니다.

UNKNOWN : 현재 포트의 상태를 알수 없다는 뜻 입니다.

 

간단하지만 이렇게 접속자정보와 state로 불법사용자여부를 확인하거나

웹서버의 경우 tcp 세션 현황을 모니터링 할 수 있습니다.

 

TCP session 상태가 "FIN_WAIT , TIME_WAIT" 와 같은 session의 정보가 장시간  다수 발생하는 경우

해당 tcp 세션을 clear 하기도 합니다.

 

예) ndd -set /dendd -set /dev/tcp tcp_discon 0x0001 (solaris나 hpux 의 경우 )

    rmsock  PCB/ADDR tcpcb (AIX의 경우)

 

하지만 정상적으로 "ESTABLISH" 상태인 session을 clear 하면
데이터 손실이나 시스템다운 등의 예상치 못한 결과가 생길 수 도 있다고 한다.

 
블로그 이미지

시반

시반(詩伴)이란 함께 시를 짓는 벗이란 뜻을 가지고 있습니다. 함께 나눌수 있는 그런 공간이길 바라며...

카테고리

분류 전체보기 (233)
개발 이야기 (73)
WEB2.0 (57)
DB2 (24)
MySQL (6)
오라클 (26)
기타 (44)
취미 (0)
잡담 (2)