文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>用netfilter的钩子函数时需要注意的一个细节。

用netfilter的钩子函数时需要注意的一个细节。

时间:2009-08-11  来源:gaozhenbo1985

当需要用到netfilter的钩子函数的时候,一般的流程是这样的: 在五个挂接点中的某个挂接点把数据包截取出来,然后送到数据包处理模块,然后在返回到钩子函数中,然后调用NF_ACCEPTF返回或者drop掉。   这里在数据包的处理模块中需要注意两件事情:   1:原skb不能kfree掉。因为在钩到数据之前,skb应该在系统的发送队列中,而skb是在一个双向链表中,如果此时把skb kfree掉,那么原来的发送队列在发送的时候,发到这个数据包的时候由于数据包已经被我们kfree掉了,所以next指针变成野指针,造成系统崩溃,死机。   2:原skb也不能调用netif_rx来交由上层处理,原因同1的原因差不多,如果数据包从系统发送队列移动到接收队列,指针域的pre和next肯定就错误了,此时也会引起系统崩溃,导致死机。如果需要,这个时候可以构造一个新的skb,copy原来的skb。然后调用netif_rx将新的skb发送到协议栈的上层,原数据包返回。   返回到:虚拟网络接口(can0)战斗总结
相关阅读 更多 +
排行榜 更多 +
英雄大作战x官方正版下载

英雄大作战x官方正版下载

飞行射击 下载
坎巴拉太空计划正版下载

坎巴拉太空计划正版下载

模拟经营 下载
夜总会保安官方正版下载

夜总会保安官方正版下载

休闲益智 下载