본문 바로가기

`nmap -sn`은 **호스트 발견(Host Discovery)** 스캔으로, **포트 스캔 없이** 네트워크 상의 활성 호스트만 찾는 명령어.

@도움이되는북마크2025. 12. 8. 13:57

`nmap -sn`은 **호스트 발견(Host Discovery)** 스캔으로, **포트 스캔 없이** 네트워크 상의 활성 호스트만 찾는 명령어입니다.

## **기본 사용법**
```bash
nmap -sn [타겟]
```

## **주요 기능**
1. **포트 스캔을 하지 않음** - 호스트가 살아있는지만 확인
2. **빠른 네트워크 스캔** - 전체 네트워크 대역을 빠르게 스캔
3. **비침투적** - 실제 서비스 연결 없이 호스트 존재만 확인

## **사용 예시**

### **단일 호스트 확인**
```bash
nmap -sn 192.168.1.1
```
```
Starting Nmap 7.80...
Nmap scan report for router.local (192.168.1.1)
Host is up (0.0020s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
```

### **서브넷 전체 스캔**
```bash
nmap -sn 192.168.1.0/24
```
```
Starting Nmap 7.80...
Nmap scan report for 192.168.1.1
Host is up (0.0010s latency).
Nmap scan report for 192.168.1.10
Host is up (0.0030s latency).
Nmap scan report for 192.168.1.20
Host is up (0.0050s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 3.50 seconds
```

### **IP 범위 지정**
```bash
nmap -sn 192.168.1.1-100
```

### **호스트 이름으로 스캔**
```bash
nmap -sn google.com
```

## **작동 방식 (기본 설정)**
`-sn` 옵션은 기본적으로 다음 방법들을 사용합니다:
1. **ICMP Echo Request (ping)** 
2. **TCP SYN 패킷** (포트 443으로)
3. **TCP ACK 패킷** (포트 80으로)
4. **ICMP Timestamp Request**

## **응용 예시**

### **속도 조절**
```bash
nmap -sn -T4 192.168.1.0/24     # 빠른 스캔
nmap -sn -T1 192.168.1.0/24     # 느린 스캔 (스텔스)
```

### **특정 포트만 사용**
```bash
nmap -sn -PS22,80,443 192.168.1.0/24   # SSH, HTTP, HTTPS 포트로만 확인
```

### **출력 형식 지정**
```bash
nmap -sn -oG hosts.txt 192.168.1.0/24   # grep 가능 형식으로 저장
```

## **arp-scan과의 비교**
```bash
# arp-scan (ARP 프로토콜 사용 - 로컬 네트워크용)
arp-scan --localnet

# nmap -sn (다양한 방법 사용 - 로컬/원격 모두 가능)
nmap -sn 192.168.1.0/24
```

## **활용 사례**
1. **네트워크 인벤토리 확인**
   ```bash
   nmap -sn 192.168.0.0/16 > network_hosts.txt
   ```

2. **특정 호스트 모니터링**
   ```bash
   # 매분마다 호스트 상태 확인
   while true; do nmap -sn 192.168.1.10; sleep 60; done
   ```

3. **네트워크 스캔 속도 측정**
   ```bash
   time nmap -sn 192.168.1.0/24
   ```

## **주의사항**
- **권한 필요**: 일반 사용자는 제한된 스캔만 가능, root 권한으로 더 많은 방법 사용 가능
- **네트워크 정책**: 회사/공공 네트워크에서는 허가 없이 사용 금지
- **대상 동의**: 타인의 네트워크/서버 스캔은 불법

## **관련 옵션**
```bash
nmap -sL [대상]          # 단순 리스트 스캔 (스캔하지 않고 목록만)
nmap -Pn [대상]          # 호스트 발견 생략 (모든 호스트를 살아있다고 가정)
nmap -PE [대상]          # ICMP Echo 방식만 사용
```

`nmap -sn`은 네트워크 관리자가 네트워크에 어떤 장치들이 연결되어 있는지 빠르게 확인할 때 유용한 명령어입니다.

도움이되는북마크
@도움이되는북마크 :: FReeWARe.kR

지나가다 스치면 도움이... 그래서 언제나 온라인...

공감하셨다면 구독도 환영합니다! 🤗

목차