当前位置:  技术问答>linux和unix

2.6.22下Netfilter的网络监听程序

    来源: 互联网  发布时间:2016-03-15

    本文导语:  在2.6.22中skbuff发生了变化,使得我以前的防火墙程序在新内核中无法使用了,主要是可以当作一个网络数据监视,当然还是不完善的。今天搞了一下,终于又可以了,下面是程序: /*This program is wrote by helight--Zhenwen Xu  *ver...


在2.6.22中skbuff发生了变化,使得我以前的防火墙程序在新内核中无法使用了,主要是可以当作一个网络数据监视,当然还是不完善的。今天搞了一下,终于又可以了,下面是程序:
/*This program is wrote by helight--Zhenwen Xu
 *version 0.1
 *2008-04-13
*/
#define DRIVER_AUTHOR "Net4-Helight"
#define DRIVER_DESC   "A sample test"
#include 
#include 
#include 
#include 
#include 
#include 
#include 

MODULE_LICENSE("GPL");

/*regist the hooks*/
static struct nf_hook_ops nfho;

unsigned int hook_func(unsigned int hookunm,struct sk_buff **skb,const struct net_device *in,const struct net_device *out,int (*okfn)(struct sk_buff *))
{
int i=0;
struct tcphdr *tcph;
struct iphdr *iph;
struct sk_buff *pskb=*skb;
printk("n the pskb->protocol :%d",pskb->protocol);

printk("MAC--mark:%dn",(unsigned int)pskb->pkt_type);
iph=(struct iphdr*)pskb->network_header;

printk("IPHDR:%dn",(unsigned int)iph->protocol);
printk("IP: [%u.%u.%u.%u]-->[%u.%u.%u.%u]",NIPQUAD(iph->saddr),NIPQUAD(iph->daddr));

if(iph->protocol==6)
{
    tcph=(struct tcphdr*)pskb->transport_header;
    printk("TCP: [%u]-->[%u]",ntohs(tcph->source),ntohs(tcph->dest));
    printk("n");
}
return NF_ACCEPT;

}

/*init the module*/
static int init_sniffer(void)
{
nfho.hook=hook_func;
nfho.hooknum=NF_IP_PRE_ROUTING;
nfho.pf=PF_INET;
nfho.priority=NF_IP_PRI_FIRST;

nf_register_hook(&nfho);

printk("This is helight's sniffern");
return 0;
}

/*Clear the module*/

void exit_sniffer(void)
{
printk("This is helight's sniffern");
nf_unregister_hook(&nfho);
}

module_init(init_sniffer);
module_exit(exit_sniffer);

|
请问在2.6.25中是不是又变了?


|
学习了

|
该回复于2008-11-05 14:02:53被版主删除

|
没遇到过这种情况.

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • netfilter 和 IPTABLES 是一回事吗?
  • 有关netfilter编译时出现的一些小错误
  • linux内核桥这一块有一个Netfilter文件夹,是做什么用的?
  • 请教前辈们关于netfilter/iptables的问题
  • 请问哪里能找到netfilter的connection tracking的实现或源吗分析的相关文章。
  • 关于netfilter开发,急
  • netfilter的怪问题
  • 关于使用netfilter,如何把数据送到用户空间?
  • netfilter中可以使用什么同步机制?
  • netfilter里如何获得TCP包的数据?
  • 关于netfilter开发的问题
  • netfilter处理的数据包是什么样的
  • 从netfilter里注册的函数获得的sk_buff的数据包如何重组?
  • 用netfilter钩子函数统计输出包的个数,出错了!
  • 请问连接镜像端口后数据包经过netfilter中hook点NF_IP_PRE_ROUTING时如何操作
  • 我要写一个用来修改packet的模块(就是iptables的插件可以向netfilter中添加一些过滤的规则),需要看那些书,请大侠们指教????
  • 在netfilter中可以用copy_to_user和copy_from_user吗
  • 在netfilter中使用NF_QUEEN把数据交由用户进程处理,碰到倒霉事,郁闷啊。。
  • 菜人netfilter问题,急急急,请高手帮忙 急急急急急急急急急急急急
  • 请问在netfilter的forward点上怎么将原来从eth0发送的数据包转向由eth1发送啊?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3