工具简介

  • 一个可以从网卡直接收包,或者读取抓包文件,快速发现DDOS攻击,并且提取包量最大的10个源IP的小工具。

运行环境

  • Linux

使用说明

./flow_detect –c 配置文件 -i 网卡名(-f 抓包文件名) -n 抓包统计量

参数说明

  • [-c必选,-i和-f二选一,-n可选]
-c    指定配置文件,为必选项
-i     指定要实时抓包的网卡名
-f    指定要分析的抓包文件名(tcpdump或者wireshark的抓包文件)
-n   指定抓包数量,必须在1000-200000之间,可不设置,不设置的情况下,如果是网卡实时抓包,则默认为200000个包,如果是抓包文件,则默认处理文件中所有包。

配置文件说明

    <alarm_rule>
        <synflood>
                <pps>10000</pps>
                <bps>10000000</bps>
        </synflood>
        <udpflood>
                <pps>80000</pps>
                <bps>100000000</bps>
        </udpflood>
        <icmpflood>
                <pps>10000</pps>
                <bps>10000000</bps>
        </icmpflood>
        <ackflood>
                <pps>200000</pps>
                <bps>400000000</bps>
        </ackflood>
        <rstflood>
                <pps>10000</pps>
                <bps>10000000</bps>
        </rstflood>
        <dnsflood>
                <pps>80000</pps>
                <bps>100000000</bps>
        </dnsflood>
        <noipflood>
                <pps>10000</pps>
                <bps>10000000</bps>
        </noipflood>
</alarm_rule>
  • 目前只支持synflood, udpflood, icmpflood, ackflood, rstflood, dnsflood和noipflood的检测,检测阈值分为pps和bps两种,命中一个即认为是有攻击发生,阈值可按实际环境进行调整。

显示说明:

alarm detect rules are configured as follows
[这里会输出设定的检测阀值]
start processing ....
Total 3333 processed
183.60.244.45:  73738pps        49552566bps
Synflood detected!
Synflood detected!
Top Attack Source Addresses:
123.151.39.137: 73738pps        49552566bps     100%
  • 首先回显配置的检测阈值,然后输出目的IP的包量和流量信息,接着是发现的攻击类型,以及攻击源IP的信息。没有发现攻击的情况下显示如下:
start processing ....
172.27.208.151: 2pps    2178bps
No DOS attack found!

下载地址

总结

  • 个人认为 这个工具能够有效的检测攻击的发生,能让服务器管理员做出及时的反应= =[然而服务商也会提醒你]
    好处是他可以输出攻击源ip的信息~炸回去,黑进去,如果是列表还能利用[大雾]

  • 效果图

效果图