Skip to content
/ fastdrop Public

利用ebpf 开发的快速丢包工具, 快速丢弃指定ip请求的包,减少协议栈的计算开销,减少网卡的负载。

Notifications You must be signed in to change notification settings

njcx/fastdrop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jan 24, 2025
626a6ab · Jan 24, 2025

History

13 Commits
Jan 24, 2025
Jan 22, 2025
Jan 24, 2025
Jan 24, 2025
Jan 22, 2025
Jan 22, 2025
Jan 22, 2025
Jan 22, 2025
Jan 24, 2025
Jan 22, 2025
Jan 22, 2025

Repository files navigation

fastdrop

利用ebpf 开发的快速丢包工具, 快速丢弃指定ip请求的包,减少协议栈的计算开销,减少cpu和网卡的负载。

loader 是使用 go + github.com/cilium/ebpf 开发而成, 从redis list 读取 ip(source ip) + port(dest port),

将ip + port 加入到ebpf map中,拦截指定ip到本机端口的包,不区分tcp/udp, 当port 为0时,拦截所有的包。

使用场景: 抗D 、 WAF、 网关、 CDN, 等等

ubuntu 24.04 下编译:

apt install  clang llvm git golang make gcc-multilib -y

make

启动方法:

./fastdrop  + 网卡名, 比如 ./fastdrop  ens33

redis list 数据格式:

- 172.16.251.209:80
- 172.16.251.201:53
- 172.16.251.208:0

示例

About

利用ebpf 开发的快速丢包工具, 快速丢弃指定ip请求的包,减少协议栈的计算开销,减少网卡的负载。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages