nping과 hping3

nping과 hping3의 차이, ICMP/TCP/UDP 패킷 테스트 예제, tcpdump와 함께 보는 방법, 허가된 랩에서만 사용해야 하는 주의사항을 정리했습니다.

npinghping3는 둘 다 네트워크 패킷을 직접 만들어 보내고 응답을 확인할 수 있는 도구입니다. 실습은 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 hping3

nping 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 옵션은 라우팅과 보안 장비에 영향을 줄 수 있으므로 랩에서만 사용합니다.
  • 운영망 테스트는 변경 승인, 시간대, 대상, 롤백 기준을 먼저 정합니다.

관련 링크

BGM EVER