nmap — 네트워크 분석 및 진단

최신 도구 가이드 / 네트워크 분석 및 진단 / nmap.html

네트워크 분석 및 진단원문등록 2026-10-18

호스트가 열어 두는 포트와 서비스를 조사하는 표준 네트워크 스캐너입니다.

기본 정보

프로그램 이름nmap (엔맵)
한 줄 소개호스트가 열어 두는 포트와 서비스를 조사하는 표준 네트워크 스캐너입니다.
개발·유지Nmap Project (Gordon Lyon)
공식 홈페이지https://nmap.org/
공식 문서https://nmap.org/book/man.html
공식 다운로드https://nmap.org/download.html
지원 운영체제Linux, Windows, macOS
라이선스GPL-2.0-or-later
안정 버전7.991 (2026-08-06 공개) — 확인일 2026-10-18
GitHub 저장소https://github.com/nmap/nmap
분류네트워크 분석 및 진단 (태그: 포트 스캔, 서비스 탐지, 네트워크 인벤토리)

이 프로그램은 무엇인가?

nmap은 네트워크에 연결된 호스트를 찾아내고, 각 호스트가 어떤 TCP/UDP 포트를 열어 두었는지, 그 포트에서 동작하는 서비스가 무엇이며 어떤 버전인지 조사하는 명령줄 도구입니다.

서버 관리자라면 새 서버를 네트워크에 넣은 뒤 '실제로 어디가 열려 있는가'를 확인하거나, 방화벽 규칙 변경 후 예상과 다르게 열린 포트가 없는지 점검할 때 사용합니다. GUI가 아닌 명령줄 도구라 점검 스크립트에 그대로 넣을 수 있습니다.

어떤 문제를 해결하는가?

  • 서버에 어떤 서비스가 외부에 노출되어 있는지 빠르게 파악해야 할 때 (인벤토리 점검).
  • 방화벽·보안그룹 규칙을 바꾼 뒤 실제로 포트가 막혔는지 확인해야 할 때.
  • 장애 접수를 받고 '이 포트가 열려 있나?'를 직접 검증해야 할 때.
  • OSINT·침투 테스트 범위 안에서 대상 자산의 서비스 구성을 문서화해야 할 때 (별도 허가 필수).

주요 기능

포트 스캔

TCP/UDP 포트를 열려 있는지, 닫혀 있는지, 필터링되어 있는지 기준으로 구분합니다.

  • 활용 상황: 서버 공인 IP에 대해 1–65535 전체 또는 주요 포트만 스캔합니다.
  • 얻는 결과: 열린 포트 목록과 각 포트가 반환한 응답 패킷 정보를 얻습니다.
  • 제한 사항: 스캔 대상 범위가 넓으면 시간이 오래 걸리고, 무단 스캔은 법적 문제로 이어질 수 있습니다.

서비스·버전 탐지

-sV 옵션으로 열린 포트에서 서비스 배너와 버전 정보를 추정합니다.

  • 활용 상황: 서버에 설치된 웹·SSH·DB 버전을 대조 점검합니다.
  • 얻는 결과: Apache 2.4.58, OpenSSH 9.6 같은 버전 추정치를 얻습니다.
  • 제한 사항: 일부 서비스는 배너를 감추거나 가짜 버전을 보내므로 추정치일 뿐 확정값이 아닙니다.

NSE 스크립트

Lua로 작성된 Nmap Scripting Engine 스크립트로 취약점 확인·DNS 조회·브루트포스 등 부가 조사를 수행합니다.

  • 활용 상황: Heartbleed 여부, SMB 설정 오류 등을 스크립트로 확인합니다.
  • 얻는 결과: 스크립트별 결과를 분류해 출력합니다.
  • 제한 사항: 공격성 스크립트는 대상에 부하를 주거나 로그에 남으므로 합의된 범위 안에서만 씁니다.

OS 핑거프린팅

TCP/IP 스택 응답 특징을 비교해 대상 운영체제를 추정합니다.

  • 활용 상황: 자산 목록에 OS 정보를 채워 넣습니다.
  • 얻는 결과: Linux, Windows 서버 등 OS 후보와 신뢰도를 얻습니다.
  • 제한 사항: 추정에 지연·NAT 환경에서 오차가 커질 수 있습니다.

설치 및 실행

Ubuntu / Debian

배포판 저장소 버전을 설치합니다. 최신 버전은 공식 사이트의 패키지를 사용합니다.

sudo apt update
sudo apt install nmap

RHEL / CentOS / Fedora

기본 저장소 또는 EPEL 저장소에서 설치합니다.

sudo dnf install nmap

Windows / macOS

공식 다운로드 페이지의 설치 파일을 사용합니다. Windows는 Npcap 설치가 선행되어야 스캔이 정상 동작합니다.

# 공식 다운로드: https://nmap.org/download.html

실제 사용 예제

열린 포트 확인 (기본 스캔)

타깃 IP의 TCP 포트 1–1000을 기본 모드로 스캔합니다. sudo 권한이 있으면 핸드셰이크 방식이 더 빠릅니다.

sudo nmap -sT -p 1-1000 192.0.2.10

서비스 버전 탐지

-sV를 붙여 열린 포트의 서비스와 버전 추정치를 함께 확인합니다.

sudo nmap -sV -p 22,80,443 192.0.2.10

스크로립트 스캔 (예시)

NSE 스크립트 기본 세트로 취약점 관련 조사를 수행합니다. 결과는 예시이며 실제 스캔 결과가 아닙니다.

sudo nmap -sV --script default 192.0.2.10

장점과 한계

장점

  • 네트워크 조사 사실상의 표준 도구로, 문서·스크립트·교재 자원이 풍부합니다.
  • 단순 포트 확인부터 NSE 스크립트 기반 조사까지 한 도구로 확장됩니다.
  • 출력을 (-oG, -oX) 스크립트가 읽기 쉬운 형식으로 저장할 수 있어 자동화에 적합합니다.
  • Linux·Windows·macOS 모두 공식 지원합니다.

사용 전에 고려할 점

  • 대상 네트워크에 대한 명시적 허가 없이 스캔하면 법적·정책적 문제를 겪을 수 있습니다.
  • 대규모 스캔 시 트래픽이 커서 장애나 탐지로 이어질 수 있습니다.
  • OS·버전 추정은 휴리스틱 기반이라 오차가 있습니다.
  • 초보자가 NSE 스크립트를 그대로 돌리면 예기치 않은 결과를 얻기 쉽습니다.

비슷한 프로그램과 비교

프로그램특징이런 경우에 적합
masscan대규모 포트 스캔 속도에 특화되어 있어 초당 수만 포트를 처리합니다.인터넷 전체나 대규모 대상 범위를 빠르게 훑어야 할 때.
zmap단일 포트를 대규모 대상에 대해 빠르게 스캔하는 데 특화됩니다.한 포트(예: 80)만 열려 있는 호스트를 광범위하게 찾을 때.
netcat (nc)포트 하나하나를 수동으로 열어 보는 단순 도구입니다.이미 스캔으로 특정한 포트 한두 개만 재확인할 때.

공식 자료 및 추가 학습

버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요.

실제 실행 화면

nmap의 서비스 탐지(-sV) 결과 화면을 서버 풍으로 재구성한 합성 예시입니다. 화면은 합성 예시이며 실제 실행 결과가 아닙니다.

nmap 서비스 탐지 스캔 결과: 22/80/443 포트가 열려 있고 nginx·OpenSSH 버전이 표시되는 화면

실제 운영 중인 서버

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.