상세 컨텐츠

본문 제목

netstat에 대해서 알아보기

프로그래밍/시스템, 서버구축

by 라제폰 2009. 1. 6. 13:26

본문

netstat에 대해서 알아보기

자신의 컴퓨터와 연결되었거나 연결될 목록을 프로토콜과 함께 보여주는 명령어

유닉스나 윈도우에는 사용자 컴퓨터의 네트워크의 상태를 알려주는 netstat라는 명령어가 있다. 즉 어떤 포트가 열려 있고 어떻게 사용되고 있는지 모두 알 수가 있고 이 명령어를 잘 활용하면 맨손으로도 해킹을 감지해 낼 수 있습니다. 그러나 사용자의 대부분은 netstat란 명령어를 모르고 있는것 같아 이번에는 netstat명령어의 사용법을 익힘으로써 다른 소프트웨어 도움을 받지 않고 해킹을 감지해 내는 능력을 길러봅니다. 

1. netstat로 알아보는 내 컴퓨터의 포트상태 
c:>netstat 
Proto    Local Address    Foreign Address    State 
TCP     acy7807:1023       211.233.45.89:80     ESTABLISHED 

- Proto : 현재 사용한 프로토콜 
- Local Address : 현재 열려 있는 사용자 컴퓨터의 IP/호스트 네임과 사용중인 포트 
- Foreign Address : 현재 사용자의 컴퓨터에 접속되어 있는 IP/호스트 네임과 사용중인 포트 
- State : 연결 상태를 나타내는 것 
  - ESTABLISHED : 현재 연결되어 있다는 뜻 
  - LISTENING : 연결을 위하여 접속을 기다리는 상태 
  - TIME_WAIT : 이미 해당 사이트와 연결이 종료되었거나 다음 연결을 위해 기다리는 상태 
  - SYN_SENT : 접속하기 위해 패킷을 보냈다는 뜻 

 

2. netstat옵션 배우기 
c:>netstat ? 

netstat -a : 연결된 혹은 연결을 기다리고 있는 모든 포트를 보여줍니다. -a 옵션이 없으면 연결된 목록만 보여주는데, -a 옵션을 주면 연결되었거나 연결을 기다리는 목록을 모두 보여줍니다.

netstat -n : 통상 연결 목록이 컴퓨터 이름이 나오는데, -n 옵션을 주면 컴퓨터 이름 대신 ip 주소가 뜹니다. 

netstats -an or -na : 컴퓨터와 연결되었던 혹은 연결을 기다리는 목록을 ip 주소로 바꾸어서 보여줍니다.

이제 netstat 명령을 알았으니 가끔씩 실행시켜주면 됩니다. netstat 명령으로 검색했을 때 알 수 없는 포트가 있거나, 포트중에 31337, 12345, 54321과 같이 트로이 목마가 사용하는 포트가 하나 열려 있거나 열려진 포트로 특정 IP가 접속해 있다면 이는 십중팔구 해킹인 것입니다.


///// 응용 /////
#netstat -nap (열려 있는 모든 포트)
#netstat -l 또는 netstat -nap | grep LISTEN (LISTEN 되는 모든 포트)
#netstat -nap | grep ESTABLISHED | wc -l ( 모든 서비스 동시 접속자 수)
#netstat -nap | grep :80 | grep ESTABLISHED | wc -l ( 웹 동시 접속자 수)

관련글 더보기