在netfilter的5个钩子点处构造包,并发送的问题
需求是这样的,netfilter有5个钩子点,要求在任意一个钩子点处构造数据包发送,并在任意一个钩子点处接受,这可以实现吗? 回复 1# 买单老构造包并发送应该没问题。
但是你说的任意钩子点接受,怎么理解?
还有,你这么做,到底是什么需求呢。
非常感谢你能回复我的帖子,由于白天在公司不能登录外网,只能回家后回复了。
需求就是:比如网页下发两个检测点,一个是input(可以选择5个钩子点中的人一个),一个是output(可以选择5个钩子点中的人一个),
下发这些数据到后台后,后台再下发给内核ko模块(肯定是自己的某个功能模块),这个模块就会在input点和output点做事情。
input钩子点就会做在这个点自动构造包并发送,output点就会将收到的数据使用netlink上传到后台(用户程序)。这整套方案,你看能否实现,合理不?回复 2# Godbach
回复 3# 买单老
感觉你描述的仍然是实现方法,最原始的需求是要实现什么功能。在内核态里构造数据包,并发出去的这种方式,在结合实际需求之后,往往应该有更合适的解决方案。
需求就是如我上次回复你说的那样,方便的话,能告诉我企鹅通讯号吗,我想仔细地请教你
回复 4# Godbach
回复 5# 买单老
需求就是:比如网页下发两个检测点,一个是input(可以选择5个钩子点中的人一个),一个是output(可以选择5个钩子点中的人一个),
下发这些数据到后台后,后台再下发给内核ko模块(肯定是自己的某个功能模块),这个模块就会在input点和output点做事情。
input钩子点就会做在这个点自动构造包并发送,output点就会将收到的数据使用netlink上传到后台(用户程序)。这整套方案,你看能否实现,合理不?
我的意思,你这个描述不是最原始的需求,而可能是你把最原始需求转化成了解决方案之后,变成了你的实现需求了?
其实,更愿意听你介绍你最原始的需求,为什么会这么玩儿 netiflilter 的 Hook。
回复 5# 买单老
建议就在论坛讨论问题吧,这样能够参与讨论问题的人多一些,会对你解决问题提供更多思路。
昨天的回复居然没有成功,难怪我一天都看不到我自己的回复。
为什么这么玩netfilter的HOOK,还不是客户的要求吗,唉。
客户就是要求在任意一个钩子点处发送报文,在任意一个钩子点处接收报文。
目前我的接收报文已经大体有思路了,将抓取的报文通过netlink上传给用户空间程序。
然而针对发送报文,一点头绪都没有,有如下问题:
1.针对在每一个点发包,那么每一个点的包应该是什么格式的?
2.构造好每一个点的包后,使用什么方式发送呢(使用什么函数)?
麻烦讲解一下啊,谢谢啦
回复 6# Godbach
回复 8# 买单老
你指的是,你需要想让报文传递到用户空间,然后用户空间做检查,并发指令,告诉这个报文,需要通过那个 hook 点发出去?
恩,差不多是这个意思,谢谢你的持续支持啊。
我在另外一个帖子里《 新版本内核构造包发送问题》已经实现了通过dev_queue_xmit发UDP包,
不过,发TCP包,对端收不到,我在想是不是没有建立3次握手的原因呢?
另外,领导除了要求使用dev_queue_xmit发包外,还要用netif_receive_skb发包(发这个包到内核,让pre routing这个钩子点注册的
回调函数接收到),具体的问题请观看我的另外帖子《新版本内核构造包发送问题》
回复 9# Godbach
页:
[1]
2