我在函数中捕获TCP数据包netif_receive_skb
,我想存储TCP数据包的播放负载。我们无法在内核模块中读取/写入该文件,因此直接存储在磁盘中也许是一种方法?
这是个好办法,还是有其他建议?
答案1
您可能会发现从不同角度接近您的要求可以满足您的需求。
iptables
有一个-j NFQUEUE
选项(请参阅 参考资料man iptables
)允许您为用户空间对选定的数据包进行排队。在您的用户空间程序中,将数据包写入磁盘是很简单的。
看https://home.regit.org/netfilter-en/using-nfqueue-and-libnetfilter_queue/对于一些非常有趣的细节,我应该指出我只是浏览了一下。