netstat 명령어는 네트워크 포트(TCP, UDP) 상태를 확인하는 명령어로 윈도우의 커맨드 창에서와 UNIX 모두 사용할 수 있다.
* netstat [-a] [-e] [-n] [-s] [-r] [-p proto] [interval]
-a : 컴퓨터에서 수신되어 활성화 되어 있는 모든 TCP 및 UDP 포트를 표시
-r : 라우팅 테이블 확인 및 Connection 되어 있는 포트번호 확인
-n : 현재 다른 PC와 연결(Established) 되어 있는 포트번호 확인
-e : 랜카드에서 송수신한 패킷의 용량 및 종류 확인 (-s와 같이 사용한다.)
-s : IP, ICMP, TCP, UDP 프로토콜의 상태
* Activie Connections Display State
- LISTEN : 서버의 데몬이 떠서 접속 요청을 기다리는 상태
- SYS-SENT : 로컬의 클라이언트 어플리케이션이 원격 호스트에 연결을 요청한 상태
- SYN_RECEIVED : 서버가 원격 클라이언트로부터 접속 요구를 받아 클라이언트에게 응답했지만 아직 클라이언트에게 확인 메시지를 받지 않은 상태
- ESTABLISHED : 3 Way-Handshaking이 완료된 후 서로 연결된 상태
- FIN-WAIT1, CLOSE_WAIT, FIN-WAIT2 : 서버에서 연결을 종료하기 위해 클라이언트에게 종결을 요청하고 회신을 받아 종료하는 과정의 상태.
- CLOSING : 확인 메시지가 전송 도중 분실된 상태
- TIME-WAIT : 연결은 종료되었지만 분실되었을지 모를 느린 세그먼트를 위해 당분간 소켓을 열어놓은 상태
- CLOSED : 완전히 종료된 상태
netstat 은 통신이 정상적으로 되고 있는지, 방화벽은 잘 열려있는지 등을 확인할 때 유용하다.
또한 해킹 여부를 확인할 때도 확인하기도 한다.
netstat 은 윈도우 UNIX 모두 사용할 수 있다.