Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

HW_chick hacker

[Nmap] Live Host Discovery(라이브 호스트 스캔) 본문

Network

[Nmap] Live Host Discovery(라이브 호스트 스캔)

{{HW}} 2025. 8. 12. 16:09

Pentest를 진행할 때 상대 네트워크 구조를 파악하기 위해서는 호스트 IP가 어떤게 있는지 파악이 되어야 한다. 모의해킹을 진행하면 대부분 IP대역(CIDR)으로 주어지기 때문에 상대의 자산을 빠르게 파악하기 위해 호스트들을 파악해둔다. 

많은 툴들이 존재하지만 Nmap의 옵션들을 이용해 호스트들이 Alive 상태인지 패킷을 요청해 서버의 패킷 응답을 통해 구분하는 방법이다. Nmap에서 할 수 있는 Live Host Discovery 방법을 알아보고 패킷의 흐름을 파악해 보자!!

 

<Alive Scan 종류>

- ARP Scan

- ICMP Scan

- TCP Ping Scan

- UDP Ping Scan

 

ARP Scan

 

로컬 네트워크에서 ARP(Address Resolution Protocol) 요청을 보내어 응답이 오는지 확인한다.

동일 서브넷 내에서 가장 신뢰성 높은 호스트 탐지 방법으로, 방화벽에 의해 ICMP가 차단된 경우에도 효과적이다.

공격자가 ARP Request 패킷을 요청하면 서버에서는 ARP Reply 패킷 응답을 통해 호스트를 찾아낸다.

# 명령어
nmap -sn -PR <Target IP>

 

Open Host

  • ARP-Reply 응답: Host Up

 

Closed Host

  • 응답 없음: Host Down

 

반면에 공격자가 ARP Request 패킷을 요청하면 서버는 응답하지 않는다. 응답이 오지 않으면 nmap은 호스트가 없다고 판단하여 결과를 반환한다.

 

ICMP Scan

Nmap의 ICMP 스캔은 네트워크 상의 활성 호스트를 탐지하는 데 사용되는 기법으로, 다양한 ICMP 프로토콜을 활용한다.

옵션 설명 사용 예시

옵션 설명 사용 예시
-PE ICMP Echo 요청(유형 8)을 사용하여 호스트 탐지 nmap -PE 192.168.1.0/24
-PP ICMP 타임스탬프 요청(유형 13)을 사용하여 호스트 탐지 nmap -PP 192.168.1.0/24
-PM ICMP 주소 마스크 요청(유형 17)을 사용하여 호스트 탐지 nmap -PM 192.168.1.0/24

 

1. ICMP Ehco 요청 (-PE)

대상 호스트에 ICMP Echo 요청(유형 8)을 보내어 응답이 오는지 확인한다.

가장 일반적인 호스트 탐지 방법으로, 대상이 응답하면 해당 호스트가 활성화되어 있다고 판단한다.

공격자가 ICMP Echo Request 패킷을 요청하면 서버에서 ICMP Echo Reply 패킷 응답을 통해 호스트의 유무를 판단한다.

# 명령어
nmap -sn -PE <Target IP>

 

Opened Host

  • ICMP Echo Reply 응답: Host Up

 

Closed Host

  • 응답 없음: Host Down

 

2. ICMP Timestamp 요청 (-PP)

대상 호스트에 ICMP 타임스탬프 요청(유형 13)을 보내어 응답이 오는지 확인한다.

일부 네트워크에서 ICMP Echo 요청이 차단된 경우, 타임스탬프 요청을 통해 호스트의 활성 여부를 확인할 수 있다.

공격자가 ICMP 타임스탬프 패킷을 요청하면 서버에서 ICMP 타임스탬프 패킷을 응답을 통해 호스트의 유무를 판단한다.

# 명령어
nmap -sn -PP <Target IP>

Opened Host

  • ICMP Timestamp Reply 응답: Host Up

Closed Host

  • 응답 없음: Host Down

 

3. ICMP Address Mask 요청 (-PM)

대상 호스트에 ICMP 주소 마스크 요청(유형 17)을 보내어 응답이 오는지 확인한다.

이 방법은 덜 일반적이지만, 일부 네트워크에서 호스트의 활성 여부를 확인하는 데 사용될 수 있다.

# 명령어
nmap -sn -PM <Target IP>

Opened Host

  • ICMP Address Mask Reply 응답: Host Up

Closed Host

  • 응답 없음: Host Down

 

Port Scan 옵션(-sn)만 사용한다면?

호스트 탐지 후 포트 스캔을 생략하고, 활성 호스트만을 출력한다.

단순히 네트워크 상의 활성 호스트를 확인하고자 할 때 사용하며, 옵션 (-sn)만 사용하면 ICMP 패킷과 80번, 443번 포트에 패킷을 보내 응답을 확인한다.

# 명령어
nmap -sn <Target IP>

Opened Host

  • ICMP Echo Reply 응답: Host Up
  • ICMP Timestamp Reply 응답: Host Up
  • 80번 포트 RST 응답: Host Up
  • 443번 포트 SYN-ACK 응답: Host Up

Closed Host

  • ICMP 패킷 응답 없음: Host Down
  • 80번 포트 응답 없음: Host Down
  • 443번 포트 RST 응답: Host Down

TCP Scan

대상 호스트가 온라인인지(응답하는지) 확인하기 위한 스캔 방식 중 하나이다.

보통 ping은 ICMP Echo 요청을 보내지만, 방화벽이나 보안 장비가 ICMP를 막는 경우가 많기 때문에 ICMP 대신 TCP 기반의 ping으로 호스트의 상태를 확인할 수 있다.

 

1. SYN Ping 스캔 (-PS)

TCP SYN 패킷을 대상 호스트의 지정된 포트(기본값은 80번,443)으로 전송한다.

# 명령어
nmap -sn -PS<PORT> <Target IP>

Opened Host

  • SYN-ACK 응답: Host Up

Closed Host

  • RST 응답: Host Down

 

2. ACK Ping 스캔 (-PA)

TCP ACK 패킷을 사용해 대상 호스트를 확인한다.

SYN이나 ICMP 방식이 작동하지 않는 경우에 유용하며, ACK로도 응답이 오면 호스트가 온라인이라고 판단한다.

# 명령어
nmap -sn -PA<PORT> <Target IP>

Opened or Closed Host

  • RST 응답: “Host Up” or “Host Down”

 

UDP Ping Scan (-PU)

UDP 패킷을 대상 포트로 전송하고, ICMP "port unreachable"이나 UDP 응답을 통해 호스트 상태를 확인한다.

ICMP가 차단된 환경이나 UDP에 대해 오픈/반응이 있는 경우 호스트가 살아있음을 탐지할 수 있다.

# 명령어
nmap -sn -PU <Target IP>

Opened Host

  • 응답 없음: Host Up

 

Closed Host

  • ICMP 응답: Host Down