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 옵션은 연결 후 즉시 종료합니다.
'Linux' 카테고리의 다른 글
[Linux] linux history 다양한 옵션과 예제 (1) | 2023.05.25 |
---|---|
[Linux] podman 을 설치 방법 (1) | 2023.05.24 |
[Linux] locale 변경 방법 (1) | 2023.05.19 |
[Linux] sudo -i 했을때 비밀번호 입력하지 않는 방법 (1) | 2023.05.18 |
[Linux] awk 명령어를 통한 다양한 예제 (1) | 2023.05.06 |