首页
›
Linux内核与驱动
›
064-内核网络开发实战
›
《自定义协议socket编程与内核网络测试环境搭建》
VIP10
本课程属于:064-内核网络开发实战
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
自定义协议socket编程与内核网络测试环境搭建
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论与实验环境总览
介绍自定义协议的意义 · Socket编程基础 · 内核网络栈角色
课程导论
实验环境总览
02
Linux网络命名空间基础
理解Network Namespac… · 使用ip netns命令创建 · 删除
Linux
网络命名空间基础
03
veth pair与虚拟网桥
创建veth pair设备 · 连接两个命名空间 · 使用Linux Bridge实现多个…
veth
pair
04
原始套接字(Raw Socket)入门
理解原始套接字与标准套接字的区别 · 使用socket(AF_PACKET · SOCK_RAW
Raw
Socket
05
自定义以太网协议设计
定义私有以太网类型(如0x88B5) · 设计自定义协议头部结构(包含版本 · 类型
自定义以太网协议…
x88B5
06
发送自定义以太网帧
编写C程序 · 构造自定义以太网帧(目标MAC · 源MAC
发送自定义以太网…
编写C程序
07
接收与解析自定义以太网帧
编写C程序 · 使用原始套接字监听指定接口 · 过滤出自定义类型帧
接收
解析自定义以太网…
08
基于libpcap的抓包与协议分析
安装libpcap库 · 编写pcap程序捕获自定义协议帧 · 使用Wireshark配合自定义di…
libpcap
基于
09
用户态协议栈概念与Netmap简介
介绍用户态协议栈(如DPDK · Netmap)与传统内核协议栈的差异 · 安装Netmap并运行示例程序
Netmap
用户态协议栈概念
10
内核模块开发入门
编写第一个内核模块(Hello Wo… · 使用insmod/rmmod加载卸载 · 查看内核日志
内核模块开发入门
Hello
11
内核网络协议栈注册
学习内核网络协议注册机制 · 使用dev_add_pack()注册… · 实现内核态协议帧接收
内核网络协议栈注…
学习内核网络协议…
12
内核Socket创建与注册
实现自定义协议族(AF_CUSTOM… · 注册proto_ops · 实现socket()
Socket
内核
13
内核sendmsg与recvmsg实现
在内核模块中实现自定义协议的发送(通…
sendmsg
recvmsg
14
用户态与内核态交互(Netlink)
使用Netlink套接字实现用户态程… · 传递自定义协议配置参数
Netlink
用户态
15
procfs与sysfs调试接口
在内核模块中创建/proc/cust… · 用于动态查看协议统计信息和配置
procfs
sysfs
16
BPF (Berkeley Packet Filter) 基础
理解BPF指令集 · 编写简单的BPF过滤表达式 · 使用tcpdump -d查看编译后的…
BPF
Berkeley
17
eBPF程序开发入门
安装bcc工具集 · 编写第一个eBPF程序(Hello… · 挂载到kprobe/tracepoi…
eBPF
程序开发入门
18
使用eBPF监控自定义协议
编写eBPF程序挂载到内核网络函数(… · 统计自定义协议帧数量与大小
eBPF
使用
19
XDP (eXpress Data Path) 基础
理解XDP在网卡驱动层的执行位置 · 编写XDP程序丢弃/转发自定义协议帧
XDP
eXpress
20
基于XDP的自定义协议加速
实现XDP程序直接解析自定义协议头部 · 并根据规则进行快速转发或丢弃 · 绕过内核协议栈
XDP
基于
21
网络测试工具iperf3与自定义协议
修改iperf3源码 · 使其支持自定义协议类型 · 进行吞吐量
iperf3
网络测试工具
22
scapy自定义协议构造与模糊测试
使用Python scapy库定义自… · 构造畸形帧进行模糊测试 · 验证协议健壮性
scapy
自定义协议构造
23
Linux TC (Traffic Control) 与Qdisc
使用tc命令配置HTB/TBF队列规… · 对自定义协议流量进行限速和整形
Linux
TC
24
iptables/nftables自定义协议匹配
编写iptables自定义匹配模块 · 或使用nftables的raw pa…
iptables/nft…
自定义协议匹配
25
容器化测试环境(Docker Compose)
编写docker-compose.y… · 定义多个容器(发送端 · 接收端
Docker
Compose
26
自动化测试框架(pytest + shell)
使用pytest编写自动化测试用例 · 调用shell命令和C程序 · 验证自定义协议收发功能
pytest
shell
27
性能调优与内核参数
调整内核网络参数(如net.core… · net.core.netdev_bu… · 优化自定义协议吞吐量
性能调优
内核参数
28
故障排查与调试技巧
使用strace跟踪系统调用 · ftrace跟踪内核函数 · kdump分析内核崩溃
故障排查
调试技巧
29
综合实验
构建三层自定义协议栈 · 在内核中实现完整协议栈
综合实验
构建三层自定义协…
30
课程总结与进阶方向
回顾自定义协议开发全流程 · 对比DPDK · RDMA等高性能网络技术
课程总结
进阶方向
所属VIP或分类
同VIP:Linux网络协议栈兼容性调试:新旧内核差异处理
同VIP:Netfilter内核模块开发与连接跟踪系统实战
同VIP:OVS与eBPF网络过滤集成及数据路径调试