개요
서버에 서비스를 올리고 방화벽을 열었는데 ... "왜 접속이 안 되지?" 하는 막막한 순간, 경험해보지 않으셨나요?
이때 가장 먼저 해야할 작업은 바로 서버의 포트가 정말 '살아있는지' 확인하는 일입니다.
이번 게시글에서는 서버 및 네트워크 관리의 필수적인 도구라고 볼 수 있는 nmap
과 netcat
을 실무에서는 어떻게 사용하는지,
가장 유용한 옵션 조합과 실제 시나리오를 통해 알아보겠습니다.
🎯 nmap vs netcat
먼저 두 도구의 특징을 이해하면 언제 뭘 써야 할지 감이 옵니다.
🔪 Netcat
(nc
): 신속 정확한 단검
"이 포트 열렸어?" 라는 질문에 '네/아니오'로 빠르게 답을 얻고 싶을 때 사용합니다. 가볍고 빨라서 특정 대상에 대한 단일 테스트에 최적화되어 있습니다.
🗺️ Nmap: 모든 것을 보는 정찰 드론
"이 서버(네트워크)에 뭐가 있고, 어떤 상태야?" 라는 종합적인 보고서가 필요할 때 사용합니다. 포트 상태는 물론, 어떤 서비스가 어떤 버전으로 돌고 있는지, 심지어 운영체제까지 파악하는 강력한 기능을 자랑합니다.
🔪 Netcat (nc)
"방화벽 바꿨는데 3306 포트 정책 허용했나?" 처럼 빠른 확인이 필요할 때 가장 먼저 손이 가는 명령어입니다
"이것만은 꼭!" 실무 필수 옵션
netcat
은 옵션 조합이 거의 정해져 있습니다. 이것만 꼭 기억하세요!
z
(Zero I/O): 데이터 교환 없이 스캔만!v
(Verbose): 진행 상황 자세하게!w
(Timeout): 응답 없으면 그만 기디리기 (초단위)
이 세 가지를 조합한 nc -zvw <IP 주소> <포트 번호>
형태를 가장 많이 사용합니다.
# 192.168.1.100 서버의 80번 포트를 2초만 기다리며 확인
nc -zvw 2 192.168.1.100 80
🗺️ Nmap
"신규 서버 세팅 끝! 이제 보안 상태 점검해볼까?" 처럼 종합적인 분석이 필요할 때 사용하는 국룰 명령어입니다.
"이 조합은 국룰!" 실무 필수 옵션
Nmap은 옵션이 정말 많지만, 실무에서는 아래 조합이 가장 효율적이고 많은 정보를 줍니다.
-sS
: 로그를 최소화하는 스텔스 스캔 (가장 기본적이고 빠름)-sV
: 포트에서 실행 중인 서비스의 버전 정보 확인 (보안의 핵심!)-p <포트>
: 특정 포트 지정 (-p-는 모든 포트)-T4
: 스캔 속도 올리기 (가장 무난한 고속 옵션)-oN <파일명>
: 결과를 파일로 저장 (보고 및 기록용)
# 192.168.1.100 서버의 주요 포트를 버전 정보와 함께 빠르게 스캔
nmap -sS -sV -T4 -p 22,80,443 192.168.1.100