kali工具-hping3
一、工具介绍
hping 是面向命令行的用于生成和解析TCP/IP协议数据包汇编分析的开源工具。可用来伪造IP访问服务器、dos攻击服务器等。
目前最新版是hping3,它支持TCP,UDP,ICMP,和RAW-IP协议,具有跟踪路由模式,能够在覆盖的信道之间发送文件以及许多其他功能。
hping3是安全审计,防火墙测试等工作的标配工具,hping优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致的探测。
二、参数释意
-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 对于接收到的每个匹配数据包蜂鸣声提示 模式选择 default mode 默认模式是TCP -0 --rawip RAW IP模式,原始IP模式。在此模式下Hping3会发送带数据的IP头。即裸IP方式。使用RAWSOCKET方式 -1 --icmp ICMP模式,此模式下Hping3会发送IGMP应答报,你可以用 --icmptype,--icmpcode 选项发送其他类型/模式的ICMP报文 -2 --udp UDP模式,默认Hping3会发送UDP报文到主机的0端口,你可以用 --baseport,--destport,--keep 选项指定端口 -8 --scan 扫描模式,扫描指定的端口 Example: hping3 --scan 1-30,70-90 -S www.target.host -9 --listen 监听模式 IP 模式 -a --spoof 源地址欺骗。伪造自身IP,对目的进行攻击,防火墙就不会记录你的真实IP了,当然回应的包你也接收不到了 --rand-dest 随机目的地址模式,详细使用 man 命令 --rand-source 随机源地址模式,详细使用 man 命令 -t --ttl 指定 ttl 值 (默认 64) -N --id hping3 中的 ID 值,缺省为随机值 -W --winid 使用 win* id 字节顺序,针对不同的操作系统。UNIX,WINDIWS的id回应不同,这选项可以让你的ID回应和WINDOWS一样 -r --rel 相对id字段(用于评估主机流量) //更改ID的,可以让ID曾递减输出,详见HPING-HOWTO -f --frag 将数据包拆分成更多的frag,可能通过弱访问控制列表(acl) //分段,可以测试对方或者交换机碎片处理能力,缺省16字节 -x --morefrag 设置更多的分段标志 //大量碎片,泪滴攻击 -y --dontfrag 设置不分段标志 //发送不可恢复的IP碎片,这可以让你了解更多的MTU PATH DISCOVERY -g --fragoff set the fragment offset //设置断偏移 -m --mtu 设置虚拟最大传输单元,当大于MTU时分段;如果数据包大于MTU,等同于使用 --frag 选项 -o --tos tos字段,服务类型,缺省值为0x00,通过 hping3 --tos help 命令查看详细 -G --rroute 记录IP路由,并显示路由缓冲 --lsrr 松散源路由并记录路由 (loose source routing and record route) --ssrr 严格源路由并记录路由 (strict source routing and record route) -H --ipproto 设置IP协议字段,仅在RAW IP模式下使用 ICMP 模式 -C --icmptype icmp类型,默认回显(echo)请求 -K --icmpcode icmp代号,默认0 --force-icmp 发送所有icmp类型(默认仅发送支持的类型) --icmp-gw 设置ICMP重定向网关地址(默认0.0.0.0) --icmp-ts 等同 --icmp --icmptype 13 (ICMP 时间戳) --icmp-addr 等同 --icmp --icmptype 17 (ICMP 地址子网掩码) --icmp-help 显示其他icmp选项帮助 UDP/TCP 模式 -s --baseport 设置源端口,默认为随机源端口 -p --destport 设置目的端口,默认端口为0 -k --keep 保持源端口不变 -w --win win的滑动窗口。windows发送字节(默认64) -O --tcpoff set fake tcp data offset(instead of tcphdrlen / 4) //设置伪造tcp数据偏移量(取代tcp地址长度/4) -Q --seqnum 仅显示tcp序列号 -b --badcksum (尝试)发送具有错误IP校验和的数据包,所以你会得到错误UDP/TCP校验和。但是许多系统会修复发送数据包的IP校验和 -M --setseq 设置TCP序列号 -L --setack set TCP ack,不是 TCP 的 ACK 标志位 -F --fin set FIN flag -S --syn set SYN flag -R --rst set RST flag -P --push set PUSH flag -A --ack set ACK flag,设置 TCP 的 ACK 标志位 -U --urg set URG flag //一大堆IP报头的设置 -X --xmas set X unused flag (0x40) -Y --ymas set Y unused flag (0x80) --tcpexitcode 使用last tcp->th_flags 作为退出码 --tcp-mss 使用给定的值启用TCP MSS选项 --tcp-timestamp 启用TCP时间戳选项来猜测HZ/uptime 通用设置 -d --data 发送数据包的大小,默认为0 -E --file 发送指定文件内的数据 -e --sign 添加“签名” -j --dump 转储为十六进制数据包 -J --print 转储为可打印字符 -B --safe 启用“安全”协议 -u --end 告诉你什么时候--file达到EOF并防止倒回 -T --traceroute traceroute模式(等同使用 --bind 且 --ttl 1) --tr-stop 在traceroute模式下,收到第一个非ICMP报文时退出 --tr-keep-ttl 保持源TTL固定,仅用于监视一跳 --tr-no-rtt 不要在traceroute模式下计算或显示RTT信息 ARS packet description (new, unstable) --apd-send 发送用APD描述的数据包(参见docs/APD.txt)
三、压力测试实验(SYN洪流攻击)
攻击机:192.168.220.133
靶机:192.168.220.130
1、开启靶机的apache服务
2、攻击机执行如下命令
#温馨提示# 谨慎操作,容易造成死机
hping3 -c 1000 -d 120 -S -w 64 -p 80 --flood --rand-source 192.168.220.130
-c 1000 发送的数据包的数量。
-d 120 发送到目标机器的每个数据包的大小。单位是字节
-S 只发送SYN数据包。
-w 64 TCP窗口大小。
-p 80 目的地端口(80是WEB端口)。你在这里可以使用任何端口。
–flood 尽可能快地发送数据包,不需要考虑显示入站回复。洪水攻击模式。
–rand-source 使用随机性的源头IP地址。这里的伪造的IP地址,只是在局域网中伪造。通过路由器后,还会还原成真实的IP地址。
3、靶机CPU使用率急剧增加,系统卡顿,影响web服务器的正常运行
4、打开攻击机的wireshark可看到只发送了SYN包,不返回ACK包
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器