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포트 까지 스캔을 하라는 뜻입니다.
우선 파일을 받을 컴퓨터에서 포트를 열어주어야 합니다.
nc -l 5555
그다음 파일을 전송할 컴퓨터에서 접속을 해야합니다.
nc name.host.com 5555 < file_to_send
한가지 참고할것을 알려 드리면, netcat은 데이터를 평문으로 전송하므로, 보안이 필요한 환경에서는 사용을 피해야 합니다. 또한, 네트워크 방화벽이나 보안 정책에 따라 포트가 차단 될수도 있습니다.
[리눅스 명령어 정리] nmap 개념/사용법 (0) | 2023.06.22 |
---|---|
[리눅스 명령어 정리] OpenSSL 개념 및 명령어 (0) | 2023.05.31 |
[리눅스 명령어 정리] SSH (0) | 2023.05.17 |
[리눅스 명령어 정리] gizp, bzip2, tar (0) | 2023.05.12 |
[리눅스 명령어 정리] strings (0) | 2023.05.09 |