nc(Netcat) 명령어를 이용한 TCP/UDP 포트 연결 상태 확인 방법
서버 운영 환경에서 특정 포트가 정상적으로 열려 있는지 확인해야 하는 경우가 많습니다.
telnet, curl, nmap 등 다양한 방법이 있지만 간단하고 빠르게 네트워크 연결 상태를 확인할 때 가장 많이 사용하는 도구 중 하나가 nc(Netcat) 입니다.
nc는 TCP/UDP 네트워크 연결을 생성하거나 테스트할 수 있는 범용 네트워크 도구로 방화벽 정책 확인, 서비스 포트 점검, 네트워크 장애 분석 등에 활용됩니다.
1 nc(Netcat) 설치
일부 Linux 배포판에서는 기본 설치되어 있지만 필요 시 패키지 관리자를 통해 설치할 수 있습니다.
Ubuntu/Debian 계열
sudo apt update
sudo apt install -y netcat-openbsd설치 확인
nc -hCentOS/RHEL 계열
sudo yum install -y nmap-ncat설치 확인
nc -h2. TCP 포트 확인 방법
TCP 포트가 열려 있는지 확인하려면 다음 명령어를 사용합니다.
nc -zv -w 3 <HOST> <PORT>nc -zv -w 3 google.com 80Connection to google.com 80 port [tcp/http] succeeded!옵션 설명
- -z : 실제 데이터 전송 없이 포트 상태만 확인
- -v : 상세 출력 모드
- -w : 연결 대기 시간(timeout) 지정
TCP 포트 연결 실패 예시
nc -zv -w 3 192.168.0.100 8080nc: connect to 192.168.0.100 port 8080 (tcp) failed: Connection refused3. UDP 포트 확인 방법
UDP 포트는 TCP와 달리 연결(Connection) 개념이 없기 때문에 확인 방법이 조금 다릅니다.
nc -uzv -w 3 <HOST> <PORT>nc -uzv -w 3 8.8.8.8 53Connection to 8.8.8.8 53 port [udp/domain] succeeded!옵션 설명
- -u : UDP 모드 사용
- -z : 데이터 전송 없이 포트 검사
- -v : 상세 출력
- -w : timeout 설정
4. 특정 서비스 포트 점검 예제
SSH(22번)
nc -zv -w 3 server.example.com 22HTTP(80번)
nc -zv -w 3 server.example.com 80HTTPS(443번)
nc -zv -w 3 server.example.com 443DNS UDP(53번)
nc -uzv -w 3 8.8.8.8 53nc(Netcat)은 설치가 간단하고 사용법이 쉬우면서도 서버 운영 환경에서 매우 강력한 네트워크 점검 도구입니다.
특히 TCP 연결 확인은 서비스 장애 분석 시 빠른 원인 파악에 유용하며, UDP 점검 시에는 UDP 특성상 실제 서비스 응답 여부를 추가적으로 확인하는 것이 좋습니다.