阅读:3234回复:3
【云原生进阶】eBPF实战入门之网络篇
之前我们开过一个eBPF粗暴入门篇(还在更新),接下来我们就需要针对单项知识点进行强化。首当其冲的是网络如xdp、tc等,并且结合之前我们说过的otel来进行基于eBPF可观测的实现。本课程不适合新手
本课程分三章: 1、基于docker ,我们来完成基于xdp的流量监听、数据包修改等基操 2、结合之前讲过的otel。来完成无侵入链路监控 3、k8s相关的应用 本课程大约50课时(后面还要开进阶课程)。由于众所周知的原因,关键细节会故意留坑,VIP学员一对一口述破解 第二章:Traffic Control(tc)基本开发学习 第10讲:Traffic Control入门、基本写法 今天我们进入新的一章,本章我们将学习到数据包修改、重定向相关知识 第11讲:使用golang运行Traffic Control监听 本课时很重要,课程代码也参考了cilium源码。 第12讲:Traffic Control基操(1): 解析IP报文 试听 我们先从基操开始。xdp之前也实现过,使用tc更方便些 第13讲:Traffic Control基操(2): 用户态交互、显示IP 之前xdp讲过类似的方法。tc模式下我们做个修改和适应性复习 第14讲:Traffic Control基操(3): 函数封装的基本技巧 大段代码会导致可读性很差,今天我们演示下简单的、初步的函数封装 第15讲:Traffic Control基操(4): tcp包解析 今天我们演示下在tc模式下的tcp包解析,后面其实还有更方便的方法 第16讲:Traffic Control基操(5): 监听docker容器的代码改造 在我们之前的基础上做一个改造和改进 第17讲:修改端口重新封包(1) 基本方法和思路 接下来我们要讲重点部分:修改网络数据包,今天先讲基本方法和思路 第18讲:tc修改端口重新封包(2) 初步修改目标端口、抓包 今天这课时我们来尝试对目标端口进行修改,并使用抓包的方式查看 第19讲:tc修改端口重新封包(3) 完成目标端口重定向 有了前面课时的基础,今天我们完成目标端口的修改 第20讲:tc修改tcp数据包的目标IP+端口重新封包、重定向 上节课我们是改了端口,有了这个基础我们来完成IP和端口的修改和重定向 本课程不定期更新 第一章:xdp和docker监控 第1讲:课程内容、基本运行效果 试听 开张课,讲下课程内容。先从docker监控开始 第2讲:xdp监听docker容器流量基本原理 之前我们是监听了流量进入docker容器的情况,如果是容器互访怎么监听流量呢?今天讲一下原理 第3讲:过滤tcp握手和挥手阶段的数据包(选学) 上节课我们答应了所有交互连接情况,这节课我们来通过一些手法尽可能的过滤掉我们不需要的数据包 第4讲:eBPF获取tcp的报文内容(http模式) 本课时我们通过xdp取出tcp报文内容,为后面解析mysql、redis等协议做准备 第5讲:eBPF根据tcp的报文判断是否是http请求 今天我们来判定请求是否属于http请求 第6讲:(补充)根据tcp的报文判断是否是http响应 在上节课的基础上,我们来区分请求和响应 第7讲:eBPF+mysql报文解析初步:解析SQL语句(查询) 有了今天的课时,我们就能监听所有容器的SQL查询语句,而无需修改代码 第8讲:redis报文解析初步(上):基本手法 这节课我们来讲原理,下节课我们完成redis监听 第9讲:redis报文解析初步(下):监控所有容器执行的Redis命令 试听 有了上节课基础,今天我们就来结合eBPF监控所有容器执行的redis命令 |
|
|