티스토리 뷰

네트워크

HPING (hping3)설치 및 사용

초보의 CHOMAN 2015.04.16 09:40

hping3 설치 및 사용




설치전 필요 패키지


yum -y install libpcap-devel*

yum -y install tcl*

yum -y install tcl-devel*




hping3 다운로드


wget http://www.hping.org/hping3-20051105.tar.gz

 



설치 및 컴파일


mkdir /usr/local/include/net/
ln -sf /usr/include/pcap-bpf.h /usr/local/include/net/bpf.h

tar xvfz hping3-20051105.tar.gz

cd hping3-20051105

./configure

make
make install




자신의 리눅스 버젼이 64비트의 경우 에러나는 경우




vim bytesex.h


#if defined(__i386__) \ 
|| defined(__x86_64__) \ <-- 요 라인 추가하고 컴파일 다시 해볼것~~
|| defined(__alpha__) \ 
|| (defined(__mips__) && (defined(MIPSEL) || defined (__MIPSEL__))) 
#define BYTE_ORDER_LITTLE_ENDIAN




/usr/bin/ld: cannot find -lpcap
collect2: ld returned 1 exit status
make: *** [hping3] Error 1


위와 같은 에러는 아래 패키지를 설치해본다



yum install libcap-devel

yum install libpcap-dev*



 

설치가 완료되면 쉘창에 hping3 라고 입력한후 아래 옵션들을 입력해주면 된다



자주 사용하는 옵션



-c, --count : 패킷카운트 (지정한 패킷만 전송하고 중지)
-i, --interval : 간격, 일정 ; 
--fast : -i u10000 (초당10개) 
--faster : -i u1000 (초당100개) 
--flood : -i u10 (초당 1000개) ; Don't show replies


mode)
-0 --rawip : Raw IP mode (포트없이 아이피 ↔ 아이피 끼리 패킷 보내는듯함)
-1 --icmp : icmp 패킷
-2 --udp : udp 패킷
-8 --scan : ex) hping3 --scan 53-80 -S 1x6.1x5.3x.2x9 (포트스캔 할수 있는 기능 같음)
-9 --listen :


IP)
-a --spoof : 소스아피변조
--rand-source : 랜덤소스아피
-t --ttl : TTL (디폴트 64)
-m --mtu : mtu 크기 조절 1500보다 작게 설정




실제 사용 예제)



hping --flood --rand-source : 
hping3 -a 18.18.18.218 -p 80 -S -i u10000 : 
hping3 -p 50005 -S -i u10 xx1.1xx.2x3.37 --rand-source : 랜덤소스아이피로 좀 세게 



열려있는 포트 탐지
hping3 XXX.XXX.28.81 -S -c 1 -p 80
- len=46 ip=XXX.xxx.28.81 ttl=63 DF id=0 sport=80 flags=SA seq=0 win=5840 rtt=0.1 ms : flags 가 SYN + ACK 이므로 80번포트는 열려 있음


hping3 XXX.XXX.28.81 -S -c 1 -p 80
- len=46 ip=XXX.XXX.28.81 ttl=63 DF id=0 sport=100 flags=RA seq=0 win=0 rtt=0.1 ms : flags 가 RST + ACK 이므로 80번 포트는 닫혀있음
※ 응답 패킷은 len=46으로 시작하는 필드이다


hping3 192.168.50.252 -A -c 1 -p 8
- 1 packets tramitted, 0 packets received, 100% packet loss : IP주소가 없거나 DROP 이 되는경우 응답을 받지 못하게 됨


hping3 XXX.XXX.28.81 -SA -c 1 -p 80
- len=46 ip=XXX.XXX.28.81 ttl=63 DF id=0 sport=80 flags=R seq=0 win=0 rtt=0.1 ms : SYN + ACK 을 보내는경우 R 거부라고 응답을 받음 (응답받음으로 해당 포트 활성화 되어 있다고 확인가능)





참고 및 주의 사항



HPING3 명령어를 백그라운드 (&)로 여러개 돌릴수 있다.


패킷을 발생시키는 경우 시스템과 랜카드 퍼포먼스에 따라 패킷보내는양이 틀려질수 있다


패킷을 발생시키는 경우 부하로 인해 Ctrl + C 취소가 안되거나 시스템이 다운되는 경우 발생


SYN 패킷을 보내면 ACK 패킷이 응답하므로 보내면 응답패킷을 받게 된다


TCP 는 ACK 패킷 UDP의 경우는 Unreachable 이라는 패킷이 되돌아 올수 있음


많은 패킷이 필요할 경우 테스팅하기 위해 여러대의 패킷 발생 서버가 필요할수도 있다

 



철컹철컹


실제 운영중인 상용서비스나 다른 아이피에 공격하는 경우 경찰 조사를 받을수도 있다


 



댓글
  • 프로필사진 sjh 안녕하세요.
    글 잘 읽어보았습니다.
    좀 지난 게시글이라 봐주실줄은 모르겠지만, 질문 하나 드려도 될까요
    -i 명령어에서 --fast, --faster 부분이 이해가 안갑니다.
    각각 10000us, 1000us로 alias로 되어있는데 초 단위로 환산하면 0.01초, 0.001초로 되고 해당 시간의 간격으로 패킷보내야 한다고 생각하는데,
    왜 초당10개, 초당100개로 나가는건지 설명해주실 수 있을까요? 영문게시판에서도 설명은 없고 위처럼 설명되어있어서 잘 모르겠습니다.. 보신다면 답변 한 번 부탁드리겠습니다 ㅠㅠ
    2017.06.28 17:23 신고
  • 프로필사진 초보의 CHOMAN 안녕하세요 제가 그냥 이해하기 편하기 위해 초당 몇개의 패킷이 나갈거라고 옵션별로 상대적인 개념으로 적은거구요

    interval 패킷과 패킷 사이에 대기시간이 맞습니다. (초당 10개, 초당 100개, 초당 1000개는 이해를 돕기위한 문구였습니다)

    어쨋든 인터벌 숫자가 작아지면 초당 많은 패킷이 나가는 개념은 맞습니다.

    괜히 헷갈리게 해서 죄송합니다. 즐거운 하루 되세요~
    2017.07.10 15:38 신고
댓글쓰기 폼
공지사항
Total
671,322
Today
88
Yesterday
383
링크
«   2018/09   »
            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            
글 보관함