如何将数据直接存储在内核模块中?

如何将数据直接存储在内核模块中?

我在函数中捕获TCP数据包netif_receive_skb,我想存储TCP数据包的播放负载。我们无法在内核模块中读取/写入该文件,因此直接存储在磁盘中也许是一种方法?
这是个好办法,还是有其他建议?

答案1

您可能会发现从不同角度接近您的要求可以满足您的需求。

iptables有一个-j NFQUEUE选项(请参阅 参考资料man iptables)允许您为用户空间对选定的数据包进行排队。在您的用户空间程序中,将数据包写入磁盘是很简单的。

https://home.regit.org/netfilter-en/using-nfqueue-and-libnetfilter_queue/对于一些非常有趣的细节,我应该指出我只是浏览了一下。

相关内容