XDP禁止数据包流入网卡

这篇文章介绍了如何在Linux系统中通过XDP(eXpressDataPath)功能,利用C语言编写的xdp.c文件,配合BPF(BerkeleyPacketFilter)技术来阻止数据包流入指定的网卡。程序实现了一个简单的丢弃策略,并给出了编译和操作网卡的命令方法。
摘要由CSDN通过智能技术生成

XDP禁止数据包流入网卡

代码实现xdp.c

#include <linux/bpf.h>
#include <bpf/bpf_helpers.h>

// 汇编的声明,接下来的一段程序产生了什么作用
SEC("xdp")
int xdp_prog_simple(struct xdp_md *ctx)
{
	// 对数据包的处理是直接丢弃
	return XDP_DROP;
}

// 指定程序许可证
char _license[] SEC("license") = "GPL";

编译方案

clang -O2 -target bpf -c <源代码> -o <目标文件>

加载卸载方案

加载
ip link set dev <网卡名> xdp obj test.o sec <汇编声明>

卸载
ip link set dev <网卡名> xdp off
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值