상세 컨텐츠

본문 제목

[리눅스 명령어 정리] Netcat

리눅스/linux 명령어 정리

by 해공학(해킹을 공부하는 학생) 2023. 5. 19. 07:09

본문

netcat, 또는 줄여서 nc는 TCP/UDP를 사용하여 네트워크를 연결을 읽거나 기록하는

컴퓨터 네트워킹 유틸리티 입니다.

 

Netcat은 우리가 사용하는 운영채제(윈도우,리눅스,Mac os)에서 다 사용할수있다. Netcat을 사용하여 열린포트 감시, 데이터 전송, 프록시로 사용하는 작업, 네트워크 연결을 디버그 및 모니터링 할수있습니다.

 

사용방법은 다음과 같습니다.

nc [옵션] [host] [포트]

다음으로, ncat의 옵션들을 알아보겠습니다.

 

1. -l  [포트]  : 이것은 대부분 서버 컴퓨터에서 이 명령어를 쓰며, 뒤에 포트를 열어주는 역활을한다.

nc -l [포트]

  

2. -e [실행 파일] : -l 옵션을  대부분 함께 사용하여, 만약 연결이 된다면 뒤에 실행 파일을 실행 한다.

nc -l [포트] -e [실행 파일 경로]

 

3. -v [host] : 상세한 출력을 한다.

nc -v [host]

 

4. -z [host] : 입/출력 하지 않고 연결만 출력한다. 그리고 이 옵션은 -v 옵션과 대부분 같이 쓰인다.

nc -z [host]

 

 

이제 netcat으로 포트 스캔을 하는법을 알아보겠습니다.

포트 스캔

이 포트 스캔하는 명령어는 대표적으로 ping과 nmap이 있습니다.

여기서 ping은 별로 안씁니다. 하지만 nmap은 ncat보다 더 복잡한 포트를 스캔할때 쓰입니다.

그래서 대부분 ncat은 복잡하지 않은 포트 스캔을 할때 쓰입니다.

 

포트 스캔할때는 옵션으로는 -v, -z 옵션이 쓰입니다.

nc -v -z 192.168.0.14 20-80

이건 192.168.0.14의 20포트 부터 80포트 까지 스캔을 하라는 뜻입니다.

 

Netcat을 통해 파일전송

우선 파일을 받을 컴퓨터에서 포트를 열어주어야 합니다.

nc -l 5555

그다음 파일을 전송할 컴퓨터에서 접속을 해야합니다.

nc name.host.com 5555 < file_to_send

한가지 참고할것을 알려 드리면, netcat은 데이터를 평문으로 전송하므로, 보안이 필요한 환경에서는 사용을 피해야 합니다. 또한, 네트워크 방화벽이나 보안 정책에 따라 포트가 차단 될수도 있습니다.

 

 

 

 

 

관련글 더보기