Release log:
2021-04-24 六: 完成初版
背景介绍
最近在跟进一个网络相关的问题,需要查看经过 __netif_receive_skb 的报文是否有异常。如果打印所有的包,由于打印太多会影响性能,并且打印的内容也不会太详细。所以决定,把监听到的报文全部保存到 pcap 文件中,然后通过 wireshark 查看
这里对需要用到的知识做一个整理
知识点分析
- 怎么在内核模块中读写文件
- pcap 的文件格式是怎样的
怎么在内核中读写文件
一段简单的实例代码如下:
// main.c
#include <linux/module.h> // 包含了对模块的结构定义以及模块的版本控制
#include <linux/kernel.h> // 包含常用的内核函数
#include <linux/fs.h>
MODULE_LICENSE("Dual BSD/GPL");
static int __init skb2pcap_init(void)
{
struct file *fp = filp_open("/tmp/kernel_rw", O_CREAT | O_WRONLY | O_TRUNC, 0644);

最低0.47元/天 解锁文章
931

被折叠的 条评论
为什么被折叠?



