gpt4 book ai didi

linux netfilter 将数据包内容传递给用户空间套接字应用程序

转载 作者:太空狗 更新时间:2023-10-29 11:30:50 25 4
gpt4 key购买 nike

我想写一个Linux 2.6 netfilter module,可以检查传入的IP包信息,比如目标IP,源IP。之后将这些信息传递给 user space 应用程序,该应用程序(即 Socket 应用程序)将在数据包到达 HOOK 后立即处理这些信息。

我想尝试两种方式:

1 。在netfilter模块里面,做一个fifo结构线,每次数据包到达hook时,把数据包信息放到fifo中。并在 /proc/example 文件系统的帮助下。用户空间app每次读取/proc/example文件,都会从fifo head中获取一个包信息。

我是 kernel 程序的新手,这个程序使我的内核崩溃了好几次。 -_-!请问这样可行吗?

2。在netfilter模块里面,做一个字符设备,用户空间app从这个字符设备中读取数据包信息。但是我仍然不知道如何确保尽快获取数据包,有什么办法当数据包到达netfilter hook时,内核会向信息用户空间应用程序发送一些信号,然后用户空间应用程序来选择数据包信息?

非常感谢。

最佳答案

我的做法是:创建一个内核模块以连接到您的网络事件。然后使用可以从内核与用户空间对话的Netlink来传递数据IPC。

关于linux netfilter 将数据包内容传递给用户空间套接字应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1288906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com