centos利用cloudflare的bpf-tools实现ddos防护

概念

利用BPF( Berkeley Packet Filter)工具集结合iptables的xt_bpf模块可以实现高性能包过滤,从而应对大规模的ddos攻击。BPF Tools包含一组简单的python脚本,一部分用于分析pcap文件,其它主要用于生成bpf字节码。

 

一、下载并安装bpftools

https://github.com/cloudflare/bpftools下载zip文件解压,也可以通过git下载,然后编译,安装脚本如下:

#!/bin/bash
#yum -y kernel-headers
yum -y install python-setuptools libpcap-devel readline-devel binutils-devel bison flex libmnl libmnl-devel libtool-ltdl-devel ipset ipset-devel
easy_install pcappy
easy_install argparse

cd ./linux_tools/
make

cd ..

  

二、测试

  2.1 抓取部分包数据用于测试

tcpdump -i eth0 -s0 -w sample.pcap  -c 10000 

  2.2 可以把sample.pcap转成ascii查看

cat sample.pcap |./pcap2hex --ascii|head

  2.3 用parsedns查看详细dns信息

./parsedns 04f938b79dab00238ba9f9d9080045000041c547000040117b6b3da495fa4137252400355bde002d3a380879800500010000000000000339383205733737776905626361626403636f6d0000010001

  2.4 测试过滤规则

cat sample.pcap | ./filter -b "`./bpfgen --offset 14 dns -- *.bcc??.com`" | tcpdump -nr - | more

  2.5 和iptables关联

三、布署

 

 

 

 

参考:

https://blog.cloudflare.com/introducing-the-bpf-tools/

http://blog.csdn.net/dog250/article/details/9103817

http://blog.csdn.net/maeom/article/details/6092457

http://blog.csdn.net/sanbailiushiliuye/article/details/8728888

posted on 2015-04-09 13:31  jenqz  阅读(1002)  评论(0编辑  收藏  举报