-Pn
옵션 분석)보안 점검이나 내부 네트워크 진단 시, 방화벽 등으로 인해 ICMP(Ping) 요청이 차단된 경우 Nmap이 "호스트가 살아있지 않다"며 스캔을 생략하는 경우가 있습니다. 이를 우회하려면 -Pn
옵션이 핵심입니다.
이번 글에서는 다음 명령어를 중심으로 그 원리와 사용법을 분석합니다:
nmap -p 22 -Pn --open xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
는 스캔 대상 IP로, 블로그에선 마스킹 처리했습니다.
옵션 | 의미 |
---|---|
-p 22 | SSH 포트(22번)만 스캔 |
-Pn | Ping 없이 스캔 – ICMP 응답 무시, 호스트 생존 여부 확인 생략 |
--open | 열린 포트만 출력 – 닫힌 포트는 출력 생략 |
-Pn
이 중요한가?기본적으로 Nmap은 대상이 "살아있는지" 확인하기 위해 다음과 같은 과정을 거칩니다:
하지만 방화벽이나 보안장비가 이를 차단하면, Nmap은 **"Host seems down"**으로 판단하고 아예 스캔을 하지 않습니다.
-Pn
을 사용하면 이러한 생존 확인 절차를 건너뛰고, 대상이 살아있다고 가정한 상태로 직접 포트를 스캔합니다. 즉, ICMP 차단을 우회할 수 있습니다.
-Pn
을 사용하면 이 ARP Ping마저 생략하고 바로 포트 스캔을 진행합니다.Starting Nmap 7.95 ( https://nmap.org )
Nmap done: 1 IP address (1 host up) scanned in 2.31 seconds
→ 결과에 열린 포트 정보가 없다면, 포트가 닫혀 있거나 필터링된 상태입니다. --open
옵션으로 인해 열린 포트만 출력되기 때문입니다.
옵션 | 설명 |
---|---|
-sS | TCP SYN 스캔 (스텔스 스캔) |
-T0 ~ -T5 | 속도 조절 (느릴수록 탐지 회피 가능성 ↑) |
--scan-delay | 포트 간 시간 지연 삽입 |
--spoof-mac | MAC 주소 스푸핑으로 탐지 우회 실험 |
-Pn
은 단순한 옵션 하나처럼 보이지만, 보안 환경이 까다로운 네트워크에서 Nmap의 탐지 우회 능력을 극대화하는 중요한 기능입니다. 스캔이 실패하거나 대상이 “죽은 것처럼” 보일 때, 이 옵션을 꼭 활용해보세요.