리눅스 운영체제에서는 nc(netcat)이라는 명령어로 통신을 위해 간단하게 접속하거나 특정 포트를 열고 기다리거나 파일도 주고받을수있다.
윈도에서는 그런 명령어가 없는데 아래 파일을 다운로드 받은다음에 환경변수등에 잡아주면 윈도우 명령어처럼 사용할수 있다.
(백신에서 바이러스로 잡히는데.. 백신에서 예외설정을 해줘야 제대로 사용할수있다.;;)
나같은 경우는 C:\Users\nc 디렉토리에 nc라는 파일을 다운로드 하고 환경변수를 잡아주었다.
아래는 간단한 사용 예제를 적어보았다. 로컬 컴퓨터를 기준으로 서버 아이피는 127.0.0.1로 하였다.
* nc를 이용한 채팅
- 서버의 경우
nc -l -p 4343
-> 4343 포트를 열고 접속을 기다린다.
- 클라이언트의 경우
nc 127.0.0.1 4343
(nc IP PORT)
-> 4343 포트에 접속한다.
* nc를 이용한 파일 전송
- 서버에서 보낼때
nc -l -p 4343 < FILE
- 클라이언트에서 받을때
nc 127.0.0.1 > FILE
(클라이언트에서 보내는 경우는 서로 반대로 해주면된다.)
* 특정 실행파일에 bound 시키기
위험하고도 흥미로운 명령어인데 nc가 서로 연결을 한다음에 입출력을 특정 실행파일에 bound 시켜주는 기능이다.
e 옵션을 통해 bound 되는 프로그램을 지정해줄수있다.(ex. cmd)
- 서버에서
nc -l -p 4343 -e cmd
- 클라이언트 접속할때
nc 127.0.0.1 4343
(접속한 클라이언트가 서버의 cmd 명령어에 bound되어 서버에대한 권한을 얻은상태)