--- title: nmap — 네트워크 분석 및 진단 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: 호스트·포트·서비스 버전을 조사하는 표준 포트 스캐너. 네트워크 인벤토리와 취약점 점검 전 조사 단계에 사용. tags: 프로그램, 네트워크 분석 및 진단, nmap --- 호스트가 열어 두는 포트와 서비스를 조사하는 표준 네트워크 스캐너입니다. ## 기본 정보 | 프로그램 이름 | 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) | 포트 하나하나를 수동으로 열어 보는 단순 도구입니다. | 이미 스캔으로 특정한 포트 한두 개만 재확인할 때. | ## 공식 자료 및 추가 학습 - [공식 홈페이지](https://nmap.org/) — https://nmap.org/ - [공식 문서 / 지식베이스](https://nmap.org/book/man.html) — https://nmap.org/book/man.html - [공식 다운로드](https://nmap.org/download.html) — https://nmap.org/download.html - [릴리스 노트](https://nmap.org/changelog.html) — https://nmap.org/changelog.html - [소스 / 개발 자료](https://github.com/nmap/nmap) — https://github.com/nmap/nmap 버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요. ## 실제 실행 화면 nmap의 서비스 탐지(-sV) 결과 화면을 서버 풍으로 재구성한 합성 예시입니다. 화면은 합성 예시이며 실제 실행 결과가 아닙니다. ![nmap 서비스 탐지 스캔 결과: 22/80/443 포트가 열려 있고 nginx·OpenSSH 버전이 표시되는 화면](https://games.cursorai.co.kr/assets/nmap-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/apps/network/nmap.html