netstat 로 서버에 대한 외부 네트요청 확인하기
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 하면
데이터 손실이나 시스템다운 등의 예상치 못한 결과가 생길 수 도 있다고 한다.
'기타' 카테고리의 다른 글
JFreeChart 차트가 생성이 되지 않을때..Could not initialize class org.jfree.chart.JFreeChart (0) | 2008.08.14 |
---|---|
tomcat 구동시 The Apache Tomcat Native library which allows optimal performance... (0) | 2008.01.29 |
IE7에서의 파일(excel등) 다운로드 이상 (0) | 2008.01.16 |
IE7 주소줄없애기 (0) | 2008.01.16 |
IE 7 에 따른 이슈사항들 (0) | 2008.01.16 |