소개
호스트 탐색 전략 실습에 오신 것을 환영합니다!
보안 전문가나 네트워크 관리자가 시스템의 취약점을 분석하기 전에, 먼저 어떤 시스템이 실제로 온라인 상태이며 응답하는지 파악해야 합니다. 이 과정을 "호스트 탐색(Host Discovery)" 또는 "핑 스윕(Ping Sweeping)"이라고 합니다.
호스트 탐색은 노출이 아닌 존재 여부를 확인하는 작업입니다. 이 단계에서는 "어떤 서비스가 취약한가?"가 아니라 "어떤 주소가 활성화되어 있는가?"를 묻는 것입니다. 이러한 질문을 분리하면 스캔을 더 통제 가능하고 조용하게 수행할 수 있습니다.
이번 실습에서는 업계 표준 네트워크 스캔 도구인 Nmap을 사용하여 대상 네트워크의 경계를 매핑하는 방법을 배웁니다. 공격적인 포트 스캔을 비활성화하고, 스텔스 ARP 핑을 수행하며, ICMP 스윕을 실행하여 활성 호스트를 효율적으로 찾아내는 다양한 호스트 탐색 기술을 연습하게 됩니다.
포트 스캔 비활성화 (-sn)
이 단계에서는 호스트 탐색의 가장 기본적인 개념인, Nmap에 포트 스캔 단계를 건너뛰고 활성 호스트만 찾도록 지시하는 방법을 배웁니다.
기본적으로 Nmap에 IP 주소를 입력하면, 먼저 호스트가 살아 있는지 확인한 후 자동으로 포트 스캔(일반적으로 가장 많이 사용되는 1000개 포트)을 진행합니다. 포트 스캔은 유용하지만 소음이 많고 시간이 오래 걸리며, 방화벽이나 침입 탐지 시스템(IDS)에 쉽게 탐지됩니다.
탐색과 열거를 분리하는 것은 전문적인 작업 흐름에서 흔히 사용되는 방식입니다. 먼저 활성 호스트를 찾은 다음, 그중 어떤 호스트를 더 깊이 조사할지 결정하는 것입니다.
네트워크를 매핑하고 어떤 IP 주소가 활성 상태인지 확인하는 것이 목표라면 포트 스캔을 비활성화해야 합니다. -sn 플래그("Ping Scan" 또는 "No port scan"의 약자)를 사용하여 이를 수행할 수 있습니다.
실습 환경에서 예제가 안정적으로 작동하도록 로컬 머신을 대상으로 기본적인 호스트 탐색 스캔을 실행해 보겠습니다. 기본 작업 디렉터리인 ~/project에 있는지 확인하세요.
터미널에서 다음 명령을 실행합니다.
nmap -sn 127.0.0.1
다음과 유사한 출력이 표시되어야 합니다.
Starting Nmap 7.80 ( https://nmap.org ) at 2026-10-25 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up.
Nmap done: 1 IP address (1 host up) scanned in 0.02 seconds
출력 결과가 "Host is up"과 지연 시간만 알려준다는 점에 주목하세요. 열려 있거나 닫힌 포트 목록을 나열하지 않으므로 스캔이 훨씬 빠르고 은밀하게 진행됩니다.
ARP 핑 스캔 수행
이 단계에서는 ARP(Address Resolution Protocol) 핑 스캔을 수행하는 방법을 배웁니다.
로컬 네트워크(본인과 동일한 라우터나 스위치에 연결된 장치)를 스캔할 때 호스트를 찾는 가장 효율적이고 신뢰할 수 있는 방법은 ARP를 사용하는 것입니다. ARP는 OSI 모델의 2계층(데이터 링크 계층)에서 작동합니다. 네트워크에 "이 IP 주소를 가진 사람이 누구인가? MAC 주소를 보내달라"고 요청하는 방식입니다.
ARP는 로컬 통신의 기본이므로 이 방식은 매우 효과적입니다. 장치가 핑 요청을 무시할 수는 있어도, 로컬 네트워크에 참여하려면 ARP가 반드시 필요하기 때문입니다.
ARP는 로컬 네트워크 통신에 필수적이므로 방화벽이 이를 차단하는 경우는 드뭅니다. 따라서 ARP 핑은 로컬 호스트 탐색에 매우 정확합니다. Nmap에서는 -PR 플래그를 사용하여 ARP 핑을 지정합니다.
참고: ARP 요청은 인터넷을 통해 라우팅될 수 없습니다. 따라서 로컬 주소를 대상으로 테스트해야 합니다. 실제 시나리오에서는 192.168.1.0/24와 같은 로컬 서브넷을 스캔하게 됩니다.
원시 네트워크 패킷(사용자 지정 ARP 요청 등)을 생성하려면 관리자 권한이 필요하므로 이 명령에는 sudo를 사용해야 합니다.
다음 명령을 실행하여 로컬 머신에 대해 ARP 핑을 수행합니다.
sudo nmap -sn -PR 127.0.0.1
출력 결과는 다음과 유사하며, 내부적으로 ARP 요청을 우선시하여 호스트가 살아 있는지 확인합니다.
Starting Nmap 7.80 ( https://nmap.org ) at 2026-10-25 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00008s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
내부 기업 네트워크나 가정용 Wi-Fi 네트워크를 감사할 때는 -PR 사용을 강력히 권장합니다.
ICMP 에코 스윕 수행
이 단계에서는 ICMP 에코 스윕 기술을 살펴봅니다.
ARP는 로컬 네트워크에는 매우 훌륭하지만 라우터를 통과할 수는 없습니다. 다른 서브넷에 있는 대상을 스캔하는 경우 3계층(네트워크 계층) 프로토콜을 사용해야 합니다. 가장 일반적인 방법은 표준 ping 명령에서 사용하는 것과 동일한 메커니즘인 ICMP 에코 요청을 보내는 것입니다.
이는 네트워크 계층이 실무에서 왜 중요한지를 보여주는 좋은 예입니다. 대상이 멀리 있을수록 탐색 기술은 로컬 링크 메커니즘이 아닌 라우팅 가능한 프로토콜에 의존하게 됩니다.
Nmap에서는 -PE 플래그를 사용하여 ICMP 에코 핑을 명시적으로 요청할 수 있습니다. 이번 실습에서는 예제가 독립적으로 작동하도록 127.0.0.1을 대상으로 구문을 연습하지만, -PE는 로컬 링크를 넘어 도달 가능한 호스트를 확인할 때 특히 유용합니다.
로컬 머신을 대상으로 ICMP 에코 스윕을 테스트해 보겠습니다.
sudo nmap -sn -PE 127.0.0.1
대상이 ICMP 프로브에 응답했음을 확인하는 익숙한 출력이 표시됩니다.
Starting Nmap 7.80 ( https://nmap.org ) at 2026-10-25 10:10 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up.
Nmap done: 1 IP address (1 host up) scanned in 0.02 seconds
많은 최신 방화벽과 Windows 머신은 탐색을 방지하기 위해 기본적으로 ICMP 에코 요청을 차단한다는 점을 기억하세요. 따라서 호스트가 -PE에 응답하지 않더라도 핑을 무시할 뿐 온라인 상태일 수 있습니다.
발견된 호스트를 목록으로 저장
이 단계에서는 호스트 탐색 스캔 결과를 파일로 저장하는 방법을 배웁니다.
대규모 네트워크를 스캔할 때는 수십 또는 수백 개의 활성 호스트를 발견할 수 있습니다. 터미널 출력에만 의존하는 것은 실용적이지 않습니다. 이러한 IP 주소를 파일로 저장하여 다른 도구에 입력하거나 나중에 상세한 포트 스캔을 수행할 수 있어야 합니다.
Nmap은 여러 출력 형식을 제공합니다. -oN 플래그는 터미널에 표시되는 것과 정확히 동일한 "일반(Normal)" 사람이 읽을 수 있는 형식으로 결과를 저장합니다. 플래그 뒤에 원하는 파일 이름을 입력하기만 하면 됩니다.
127.0.0.1을 대상으로 기본적인 핑 스캔을 실행하고 결과를 ~/project 디렉터리의 live_hosts.txt라는 파일로 저장해 보겠습니다.
nmap -sn 127.0.0.1 -oN live_hosts.txt
스캔이 완료되면 cat 명령을 사용하여 파일 내용을 확인할 수 있습니다.
cat live_hosts.txt
출력 결과에는 저장된 스캔 결과가 표시됩니다.
## Nmap 7.80 scan initiated Wed Oct 25 10:15:00 2026 as: nmap -sn -oN live_hosts.txt 127.0.0.1
Nmap scan report for localhost (127.0.0.1)
Host is up.
## Nmap done at Wed Oct 25 10:15:00 2026 -- 1 IP address (1 host up) scanned in 0.02 seconds
결과를 저장함으로써 네트워크 매핑 단계에 대한 명확한 기록을 유지할 수 있으며, 이는 모든 보안 평가에서 중요한 모범 사례입니다.
요약
축하합니다! 호스트 탐색 전략 실습을 성공적으로 완료했습니다.
이번 실습에서는 소음이 많은 포트 스캔을 유발하지 않고 활성 호스트를 찾아 효율적으로 네트워크를 매핑하는 방법을 배웠습니다. -sn 플래그를 사용하여 포트 스캔을 비활성화하고, 매우 정확한 로컬 ARP 핑을 위해 -PR을 활용하며, 표준 ICMP 에코 스윕을 위해 -PE를 적용하는 연습을 했습니다. 마지막으로 -oN 플래그를 사용하여 스캔 결과를 파일로 저장함으로써 조사 내용을 문서화하는 방법도 익혔습니다.
이러한 기초 기술은 대상 환경에 대해 정찰을 수행하는 모든 네트워크 관리자나 보안 전문가에게 필수적입니다.



