当前位置: 首页 > news >正文

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
http://www.cnnetsun.cn/news/28180.html

相关文章:

  • 43、保障Web与文件服务安全:技术、挑战与应对策略
  • 47、安全文件服务配置指南
  • 49、Linux文件共享与日志管理全解析
  • 52、系统日志管理与监控全解析
  • 54、系统日志管理、监控与入侵检测技术详解
  • 强力解锁游戏控制器兼容性:ViGEmBus虚拟驱动深度指南
  • UE5 材质-30-各种节点:clamp 节点,及结合 TextureCoordinate 做出来的纹理圆效果。处理小数的数学节点 Ceil,Round,Floor,Frac
  • 智谱AI开源GLM-4-9B-Chat-1M:突破200万中文字符上下文壁垒,多模态能力引领行业新标杆
  • Windows右键菜单终极优化指南:5个技巧让系统飞起来
  • 2025年12月最新降低知网AI率的攻略,3h手把AI率降低到3%!
  • 知网AIGC检测原理是什么?如何去除知网AI痕迹?
  • 论文AI痕迹太重怎么办?6个技巧降低AI率!
  • 大模型突破:DeepSeek-OCR掀起视觉记忆革命,重新定义AI信息处理范式
  • LeetCode 448 - 找到所有数组中消失的数字
  • 22、高级系统管理与故障排除技巧
  • 第十章 for循环
  • WebRTC 是什么?能做什么?(概览篇)
  • Dubbo学习(三):深入 Remoting
  • AI设计新突破:QWEN溶图LoRA模型助力品牌视觉创作升级
  • 突破实时视频生成瓶颈:Krea Realtime 14B模型革新文本到视频技术
  • 【项目实战】Vercel 是一个让你的网站“瞬间上线”的云平台。Vercel 现在确实是技术圈的“当红炸子鸡”,尤其是在个人博客和前端开发领域。
  • Day28~实现strlen、strcpy、strncpy、strcat、strncat
  • 空洞骑士模组管理大师课:5个关键技巧让Scarab成为你的游戏管家
  • 实用方法:轻松实现NCM文件格式转换的完整解析
  • C++课后习题训练记录Day49
  • LeetCode 189. 旋转数组 | 三步反转最优解全拆解
  • downkyi视频下载:告别卡顿与画质损失的终极解决方案
  • 教你如何玩转DPDK开发中的KNI与内核交互,让网络速度翻倍!
  • Openresty驱动下的高性能Web网关实战
  • 百度网盘下载工具终极指南:快速突破限速的完整教程