Linux / 명령어 / nc - TCP·UDP 연결과 포트 점검

nc(Netcat)는 TCP·UDP 연결을 열거나 수신해 데이터를 주고받는 범용 도구입니다. 허가된 호스트의 포트 접근 여부를 빠르게 확인할 때도 사용합니다.

nc 명령어란?

Linux 배포판에는 OpenBSD netcat, Nmap Ncat 등 서로 다른 구현이 nc라는 이름으로 설치될 수 있습니다. -z는 데이터를 보내지 않고 연결 가능 여부를 확인하고, -v는 진단 메시지를 표시합니다. 일부 옵션과 수신 모드 문법은 구현마다 다릅니다.

기본 문법

nc [옵션] 호스트 포트

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man nc으로 현재 시스템의 설명을 확인하세요.

사용 예제

로컬 SSH 포트 점검

자신의 컴퓨터의 TCP 22번 포트가 연결을 받는지 확인합니다.

nc -vz 127.0.0.1 22

연결 시간 제한

응답 없는 로컬 포트에서 오래 기다리지 않도록 제한합니다.

nc -w 3 -vz 127.0.0.1 80

직접 연결

자신의 컴퓨터의 서비스가 보내는 데이터를 관찰합니다. Ctrl+C로 종료합니다.

nc -v 127.0.0.1 22

포트 연결 검사 결과 해석

nc -vz는 데이터를 주고받지 않고 TCP 포트 연결 가능 여부를 간단히 확인할 수 있습니다. 옵션 지원과 출력 문구는 netcat 구현에 따라 다릅니다.

nc -vz example.com 443

연결에 성공했을 때 가능한 출력 예시:

Connection to example.com 443 port [tcp/https] succeeded!

연결 성공은 해당 포트가 TCP 연결을 받았다는 뜻일 뿐 TLS 인증서나 HTTP 응답이 정상이라는 뜻은 아닙니다. 타임아웃이면 방화벽·경로·서버 대기 상태를, 즉시 거부되면 대상에서 연결을 받지 않는지 살펴보세요. 허가받은 대상에만 검사 패킷을 보내세요.

주요 옵션과 형식

옵션·형식 설명
-z 데이터 전송 없이 연결 가능 여부를 점검합니다.
-v 진단 출력을 자세히 표시합니다.
-w 초 연결·입출력 시간 제한을 설정합니다. 구현별 의미가 다를 수 있습니다.
-u UDP 모드로 사용합니다.
-l 연결을 기다리는 수신 모드입니다. 구현별 문법을 확인합니다.

사용할 때 주의할 점

포트가 열렸다는 것은 애플리케이션이 정상 동작하거나 인증이 안전하다는 보장이 아닙니다. UDP의 -z 결과는 응답이 없어 해석이 특히 어렵습니다. 외부 호스트 점검은 소유자 허가를 받은 범위에서만 하세요. nc -h로 현재 구현의 옵션을 확인합니다.

자주 묻는 질문

nc와 ncat은 같은 도구인가요?

둘 다 Netcat 계열이지만 구현이 다를 수 있습니다. 설치된 패키지와 nc -h 출력을 확인해 옵션을 구분하세요.

공식 문서

옵션의 정확한 동작과 구현별 차이는 nc 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / file - 파일 종류와 형식 확인

Linux / 명령어 / file - 파일 종류와 형식 확인

Linux file 명령어로 확장자와 관계없이 실제 파일 형식, MIME 유형과 문자 인코딩을 확인하는 방법을 설명합니다. 심볼릭 링크, 압축 파일, 여러 파일 검사와 스크립트 활용법도 정리합니다.

Linux / 명령어

Linux / 명령어

리눅스에서 자주 사용하는 명령어를 파일, 텍스트, 권한, 프로세스, 시스템, 디스크, 네트워크와 패키지 관리 작업별로 정리했습니다. 링크가 있는 명령어는 자세한 사용법과 예제를 확인할 수 있습니다.

Linux / 명령어 / bg - 중지된 셸 작업을 백그라운드에서 재개

Linux / 명령어 / bg - 중지된 셸 작업을 백그라운드에서 재개

Linux bg 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / dig - DNS 레코드와 응답 자세히 조회

Linux / 명령어 / dig - DNS 레코드와 응답 자세히 조회

Linux dig 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / sync - 버퍼에 남은 쓰기 데이터 저장 요청

Linux / 명령어 / sync - 버퍼에 남은 쓰기 데이터 저장 요청

Linux sync 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / Memo

Linux / Memo

리눅스와 관련된 여러 정보를 정리합니다.

Linux / 명령어 / join - 공통 필드로 두 파일 결합

Linux / 명령어 / join - 공통 필드로 두 파일 결합

Linux join 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / ls - 파일과 디렉터리 목록 확인

Linux / 명령어 / ls - 파일과 디렉터리 목록 확인

Linux ls 명령어로 파일과 디렉터리 목록, 숨김 파일, 권한과 소유자, 크기 및 수정 시간을 확인하는 방법을 설명합니다. 자주 쓰는 옵션 조합과 정렬 방법, 스크립트에서 ls 출력을 안전하게 다루는 기준도 정리합니다.

Linux / 명령어 / fdisk - 디스크 파티션 표 확인과 편집

Linux / 명령어 / fdisk - 디스크 파티션 표 확인과 편집

Linux fdisk 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / realpath - 절대 경로와 실제 경로 확인

Linux / 명령어 / realpath - 절대 경로와 실제 경로 확인

Linux realpath 명령어로 상대 경로와 심볼릭 링크를 정규화하고 절대·상대 경로를 출력하는 방법을 설명합니다. 경로 존재 조건과 보안상 주의점도 함께 정리합니다.