nping과 hping3
nping과 hping3의 차이, ICMP/TCP/UDP 패킷 테스트 예제, tcpdump와 함께 보는 방법, 허가된 랩에서만 사용해야 하는 주의사항을 정리했습니다.
nping과 hping3는 둘 다 네트워크 패킷을 직접 만들어 보내고 응답을 확인할 수 있는 도구입니다. 실습은 ICMP, TCP, UDP 예제를 짧게 나열했지만, 이 도구들은 보안 테스트와 장애 분석에 동시에 쓰일 수 있기 때문에 사용 범위와 목적을 명확히 해야 합니다. 허가된 랩, 본인 소유 서버, 내부 점검 범위에서만 사용합니다.
nping과 hping3 차이
| 도구 | 성격 | 주 사용 목적 |
|---|---|---|
nping |
Nmap 프로젝트의 패킷 생성/응답 분석 도구 | ICMP/TCP/UDP/ARP 패킷 생성, 응답 시간 측정, 네트워크 진단 |
hping3 |
패킷 조작과 테스트에 많이 쓰인 전통적인 도구 | TCP flag 테스트, 방화벽 룰 확인, 패킷 필드 조작 실습 |
Nmap 공식 문서에서는 Nping을 패킷 생성, 응답 분석, 응답 시간 측정에 사용할 수 있는 도구로 설명합니다. 단, raw packet 생성은 방화벽 우회나 DoS 실험에도 악용될 수 있으므로 대상과 목적을 제한해야 합니다.
설치
# RHEL/CentOS/Fedora
sudo dnf install -y nmap-nping hping3 || sudo yum install -y nmap-nping hping3
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y nping hping3nping ICMP 확인
TARGET="192.168.56.10"
nping --icmp -c 4 "$TARGET"일반 ping과 비슷하지만, Nping은 패킷 수, 지연, 프로토콜, 포트 등을 더 세밀하게 조정할 수 있습니다. ICMP가 차단된 서버는 살아 있어도 응답하지 않을 수 있으므로 TCP 포트 확인과 같이 봐야 합니다.
nping TCP 포트 확인
TARGET="192.168.56.10"
nping --tcp -p 80 -c 3 "$TARGET"
nping --tcp -p 443 --flags SYN -c 3 "$TARGET"TCP SYN 응답이 돌아오면 포트가 열려 있거나 중간 장비가 응답하고 있을 수 있습니다. 응답이 없다고 바로 서버 down으로 단정하지 말고 ACL, 보안그룹, 방화벽, 라우팅을 같이 확인합니다.
nping UDP 확인
TARGET="192.168.56.10"
nping --udp -p 53 -c 3 "$TARGET"UDP는 TCP처럼 연결 수립 과정이 없기 때문에 결과 해석이 어렵습니다. ICMP port unreachable이 오면 닫힌 포트로 볼 수 있지만, 응답이 없는 경우는 방화벽 drop일 수도 있고 서비스 특성일 수도 있습니다.
hping3 예제
TARGET="192.168.56.10"
# ICMP echo
sudo hping3 "$TARGET" -c 4 -1
# TCP SYN 패킷
sudo hping3 "$TARGET" -S -p 80 -c 3
# UDP 패킷
sudo hping3 "$TARGET" -2 -p 53 -c 3-S는 SYN flag, -p는 대상 포트, -c는 패킷 수, -1은 ICMP mode, -2는 UDP mode를 의미합니다.
tcpdump와 같이 보기
패킷 도구는 송신 결과만 보면 해석이 부족합니다. 같은 랩에서 대상 서버나 중간 장비에서 캡처를 같이 보면 방화벽이 drop하는지, 응답이 돌아오는지 확인할 수 있습니다.
sudo tcpdump -i eth0 -nn host 192.168.56.10사용 제한
- 외부 IP나 타인 소유 네트워크에 실행하지 않습니다.
- 패킷 수와 속도를 제한합니다.
-c,--delay같은 옵션을 명시합니다. - source IP spoofing 옵션은 라우팅과 보안 장비에 영향을 줄 수 있으므로 랩에서만 사용합니다.
- 운영망 테스트는 변경 승인, 시간대, 대상, 롤백 기준을 먼저 정합니다.