news 2026/6/2 8:34:17

12、Linux 网络数据包过滤与流量控制:eBPF 实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
12、Linux 网络数据包过滤与流量控制:eBPF 实战指南

Linux 网络数据包过滤与流量控制:eBPF 实战指南

1. 网络数据包过滤

1.1 编写自定义代码过滤数据包

除了分析tcpdump生成的汇编代码,我们还可以编写自己的代码来过滤网络数据包。不过,调试代码执行以确保其符合预期是一大挑战。在 Linux 内核源代码树的tools/bpf目录下,有一个名为bpf_dbg.c的调试器,它允许我们加载程序和pcap文件,逐步测试执行过程。此外,tcpdump也可以直接从.pcap文件读取数据并应用 BPF 过滤器。

1.2 原始套接字的数据包过滤

BPF_PROG_TYPE_SOCKET_FILTER程序类型允许我们将 BPF 程序附加到套接字上。所有接收到的数据包都会以sk_buff结构体的形式传递给程序,程序可以决定丢弃或允许这些数据包。这类程序还可以访问和操作映射。

1.2.1 示例程序目的

我们的示例程序旨在统计观察接口中 TCP、UDP 和 ICMP 数据包的数量。为此,我们需要以下几个部分:
- 能够查看数据包的 BPF 程序。
- 加载程序并将其附加到网络接口的代码。
- 编译程序并启动加载器的脚本。

1.2.2 编写 BPF 程序

我们可以用两种方式编写 BPF 程序:一是将 C 代码编译成 ELF 文件,二是

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 20:14:13

16、深入理解Seccomp、BPF及其实践应用

深入理解Seccomp、BPF及其实践应用 1. 进程能力与容器应用 在进程运行过程中,第五列代表进程所需的能力。输出中包含非审计事件,我们能看到所有非审计检查,以及审计标志置为 1 时所需的能力。我们关注的 CAP_NET_BIND_SERVICE 能力,在 Linux 内核源码的 include/uapi/…

作者头像 李华
网站建设 2026/6/2 1:05:37

为什么Get cookies.txt LOCALLY是Cookie导出的终极解决方案?

为什么Get cookies.txt LOCALLY是Cookie导出的终极解决方案? 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 在当今网络环境下&#xf…

作者头像 李华
网站建设 2026/6/1 4:42:59

抖音批量下载神器终极指南:一键搞定海量视频采集!

抖音批量下载神器终极指南:一键搞定海量视频采集! 【免费下载链接】douyinhelper 抖音批量下载助手 项目地址: https://gitcode.com/gh_mirrors/do/douyinhelper 还在为手动保存抖音视频而头疼吗?这款强大的抖音批量下载工具让你轻松实…

作者头像 李华
网站建设 2026/5/31 16:00:16

智能游戏助手终极指南:完全解放双手的自动剧情跳过解决方案

智能游戏助手终极指南:完全解放双手的自动剧情跳过解决方案 【免费下载链接】better-wuthering-waves 🌊更好的鸣潮 - 后台自动剧情 项目地址: https://gitcode.com/gh_mirrors/be/better-wuthering-waves 在当今快节奏的游戏环境中,重…

作者头像 李华
网站建设 2026/6/2 0:00:29

Py-ART完整指南:5分钟掌握气象雷达数据处理的核心技巧

Py-ART完整指南:5分钟掌握气象雷达数据处理的核心技巧 【免费下载链接】pyart The Python-ARM Radar Toolkit. A data model driven interactive toolkit for working with weather radar data. 项目地址: https://gitcode.com/gh_mirrors/py/pyart 想要快速…

作者头像 李华
网站建设 2026/5/31 3:22:30

AutoClicker自动化操作终极指南:三步实现高效鼠标点击

AutoClicker自动化操作终极指南:三步实现高效鼠标点击 【免费下载链接】AutoClicker AutoClicker is a useful simple tool for automating mouse clicks. 项目地址: https://gitcode.com/gh_mirrors/au/AutoClicker 还在为重复单调的鼠标点击任务消耗宝贵时…

作者头像 李华