news 2026/5/14 8:33:07

12、Linux 网络中的 BPF 应用与数据包过滤

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
12、Linux 网络中的 BPF 应用与数据包过滤

Linux 网络中的 BPF 应用与数据包过滤

1. BPF 概述与应用场景

在网络领域,BPF(Berkeley Packet Filter)程序主要用于两个方面:数据包捕获和过滤。用户空间程序可以为任何套接字附加过滤器,提取流经该套接字的数据包信息,并根据需要允许、禁止或重定向特定类型的数据包。

BPF 程序在网络中的应用场景主要包括以下几种:
- 实时流量丢弃:例如,只允许用户数据报协议(UDP)流量,丢弃其他所有流量。
- 实时观察过滤后的数据包:对实时系统中流经的过滤后数据包进行观察。
- 回顾性网络流量分析:使用 pcap 格式捕获实时系统中的网络流量,以便后续分析。

2. tcpdump 与 BPF 表达式

tcpdump 是一款广为人知的命令行工具,本质上是 libpcap 的前端,允许用户定义高级过滤表达式。它从指定的网络接口读取数据包,然后将接收到的数据包内容输出到标准输出或文件中。数据包流可以使用 pcap 过滤语法进行过滤,该语法是一种领域特定语言(DSL),使用一组高级表达式来过滤数据包,这些表达式通常比 BPF 汇编更容易记忆。

以下是一个使用 tcpdump 过滤 IPv4 TCP 端口 8080 流量的示例:

# tcpdump -n 'ip and tcp port 8080'
  • -n:告诉 tcpdump 不将地址转换为相应的名称,以便查看源地址和目的地址。
  • ip and tc
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 0:17:54

13、基于BPF的流量控制分类器

基于BPF的流量控制分类器 1. 流量控制概述 流量控制(Traffic Control)是内核数据包调度子系统架构,它由各种机制和排队系统组成,能够决定数据包的流向和接收方式。其常见用例包括但不限于以下方面: - 对特定类型的数据包进行优先级排序 - 丢弃特定类型的数据包 - 进行…

作者头像 李华
网站建设 2026/5/1 22:22:41

15、XDP 编程:从加载到应用的全方位指南

XDP 编程:从加载到应用的全方位指南 1. 验证 XDP 程序加载效果 在加载完 XDP 程序后,需要验证程序是否按预期工作。可以在外部机器上再次执行 nmap 命令,观察端口 8000 是否不再可达: # nmap -sS 192.168.33.11 Starting Nmap 7.70 ( https://nmap.org ) at 2019-04-…

作者头像 李华
网站建设 2026/5/6 12:45:53

League Akari 智能助手:重新定义英雄联盟自动化体验

League Akari 智能助手:重新定义英雄联盟自动化体验 【免费下载链接】LeagueAkari ✨兴趣使然的,功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari 那天晚上&a…

作者头像 李华
网站建设 2026/5/6 8:30:54

嵌入式开发外包哪家客户评价高

为什么嵌入式开发外包首选合肥奥鲲电子科技?客户评价高的背后原因在当今快速发展的科技时代,嵌入式开发已成为众多行业数字化转型的核心驱动力。无论是智能家居、工业自动化,还是医疗设备、交通系统,嵌入式系统都扮演着不可或缺的…

作者头像 李华
网站建设 2026/5/13 12:48:18

探索科研新助力:理性审视宏智树 AI 科研工具的期刊论文辅助价值

📜 开篇:新规之下,AI 学术工具迎来 “合规赋能” 时代2025 年 9 月《人工智能生成合成内容标识办法》正式实施,“显式标识 隐式水印” 的双重机制,让 AI 辅助论文写作从 “灰色地带” 走向 “合规可管”。宏智树 AI 科…

作者头像 李华