티스토리 뷰

linux 기초 - Netcat 정의 및 사용법



  netcat 정의


  넷캣( netcat )은 TCP, UDP 프로토콜을 사용하는 네트워크 연결에서 데이터를 읽고 쓰는 간단한 유틸리티 프로그램이다.

  일반적으로 UNIX/LINUX의 cat과 비슷한 사용법을 가지고 있지만, cat이 파일을 읽듯이 nc는 network connection 즉

  네트워크 연결상태를 읽거나 쓸때 사용된다. 이는 스크립트와 병용하여 네트워크에 대한 디버깅과 , 네트워크를 테스트

  하기 위한 툴로써 매우 편리하고 해킹에도 이용범위가 넓다.




  netcat 사용법


   사용법 : nc [옵션] [대상 호스트] [포트번호] 



옵션

 기능 

 -n 

 호스트 네임과 포트를 숫자로만 입력받는다. 

 -v  

 더 많은 정보를 얻을 수 있다. 

 -u 

 TCP 연결대신 UDP 연결이 이루어 진다. 

 -p 

 local-port를 지정한다. 주로 -l와 같이 사용된다. 

 -l ( 소문자 L ) 

 listen 모드로 nc를 띠우게 된다. nc를 서버로 이용할때 사용되기 때문에 대상 호스트는 입력하지 않는다.

 -r 

 여러개의 포트를 지정했을때 스캐닝 순서를 랜덤하게 한다.( 일반적으로 범위를 지정했을때 높은 번호의 포트부터 스캔한다.)

 -p옵션에서 지정 가능한 local port도 랜덤하게 한다.  

 -z

 연결을 이루기위한 최소한의 데이터 외에는 보내지 않게 하는 옵션 

↑ 주로 쓰이는 명령어 




  netcat 사용



nc를 사용하고자 하는 환경에 nc설치 유무를 파악한다.

   # 현재 운영체제 리눅스 centOS-5.1.1


nc -l [포트] 명령을 통해 가벼운 채팅할 수 있다.

  # 임의의 포트 9999번을 listen상태로 두었다.