Linux

[Linux] 리눅스 nc 명령어에 대한 자세한 설명 및 예시

IT-PAPA 2023. 5. 20. 06:47
728x90
반응형

nc는 "netcat"의 준말로, TCP/IP와 관련된 네트워크 작업을 수행하는 유틸리티입니다. 주로 포트 스캐닝, 파일 전송 및 소켓 연결 확인 등 다양한 네트워크 관련 작업에 사용됩니다.

아래는 nc 명령어의 사용법과 예시입니다.

기본적인 사용법

nc [options] host port

host: 연결하려는 호스트의 이름 또는 IP 주소
port: 연결하려는 포트 번호

-l (리스닝): nc를 서버로 동작시키고 연결을 대기합니다.
-p (포트): 연결을 위해 사용할 포트 번호를 지정합니다.
-u (UDP): UDP 프로토콜을 사용하여 연결합니다.
-v (상세): 더 상세한 출력을 보여줍니다.

 

예시 1: HTTP 요청 보내기

echo "GET / HTTP/1.1\r\nHost: www.example.com\r\n\r\n" | nc www.example.com 80

위 명령은 www.example.com의 80번 포트로 HTTP GET 요청을 보내는 예시입니다.

예시 2: 파일 전송

nc 명령어를 사용하여 파일을 전송할 수 있습니다. 다음은 서버에서 클라이언트로 파일을 전송하는 방법입니다.

서버:

nc -l 1234 < file.txt

위 명령은 1234번 포트에서 수신 대기하며, 클라이언트가 연결하면 file.txt의 내용을 전송합니다.

클라이언트:

nc server_ip 1234 > received_file.txt

위 명령은 server_ip 주소로 1234번 포트로 연결하고, 서버로부터 전송받은 파일을 received_file.txt에 저장합니다.

예시 3: 포트 스캔

nc 명령어를 사용하여 특정 포트가 열려 있는지 확인할 수 있습니다. 다음은 example.com에서 80번 포트가 열려 있는지 확인하는 방법입니다.

nc -zv example.com 80

위 명령은 example.com의 80번 포트로 연결을 시도하고, 포트가 열려 있는지 여부를 확인합니다. -z 옵션은 연결 후 즉시 종료하며, -v 옵션은 자세한 정보를 출력합니다.

예시 4: 소켓 확인

nc 명령어를 사용하여 소켓이 열려 있는지 확인할 수 있습니다. 다음은 example.com의 80번 포트에 대한 소켓 상태를 확인하는 방법입니다.

nc -z example.com 80

위 명령은 example.com의 80번 포트로 연결을 시도하고, 소켓 상태를 확인합니다. -z 옵션은 연결 후 즉시 종료합니다.

728x90
반응형
LIST