亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? test_netfilter.c

?? IOCTL的示例程序,已在mips-linux-gcc環(huán)境中調(diào)試通過(guò)
?? C
字號(hào):
#define __KERNEL__
#define MODULE


#include	<linux/module.h>
#include <linux/kernel.h>
#include <linux/netfilter.h>
#include <linux/skbuff.h>
#include <linux/ip.h>
#include <linux/netdevice.h> 
#include <linux/if_ether.h> 
#include <linux/if_packet.h>
#include <net/tcp.h>
#include <linux/netfilter_ipv4.h>


static struct nf_hook_ops nfho;
static struct nf_hook_ops nfhoRecv;
static struct nf_hook_ops nfhoSend;

short checksum(unsigned short* buffer, int size)
{
	unsigned long cksum = 0;
	 
	while(size>1)
	{
	    cksum += *buffer++;
	    size -= sizeof(unsigned short);
	}
	if(size)
	{
	    cksum += *(unsigned char*)buffer;
	}
	cksum = (cksum>>16) + (cksum&0xffff);  //將高16bit與低16bit相加
	cksum += (cksum>>16);             //將進(jìn)位到高位的16bit與低16bit 再相加
	 
	return (unsigned short)(~cksum);
}

unsigned int hook_func(unsigned int hooknum,
                       struct sk_buff **skb,
                       const struct net_device *in,
                       const struct net_device *out,
                       int (*okfn)(struct sk_buff *))
{
     struct sk_buff *sb = *skb;
    unsigned char src_ip[4];
    *(unsigned int *)src_ip = sb->nh.iph->saddr;
    printk("hook_func A packet from:%d.%d.%d.%d Detected!",
                 src_ip[0],src_ip[1],src_ip[2],src_ip[3]);
   switch(sb->nh.iph->protocol)
    {
       case IPPROTO_TCP:
           printk("It's a TCP PACKET\n");break;
       case IPPROTO_ICMP:
          printk("It's a ICMP PACKET\n");break;
      case IPPROTO_UDP:
         printk("It's a UDP PACKET\n");break;
    }
    
    return NF_ACCEPT;          
}

unsigned int hook_func_recv(unsigned int hooknum,
                       struct sk_buff **skb,
                       const struct net_device *in,
                       const struct net_device *out,
                       int (*okfn)(struct sk_buff *))
{
     struct sk_buff *sb = *skb;
    unsigned char src_ip[4];
    *(unsigned int *)src_ip = sb->nh.iph->saddr;
    printk("hook_func_recv A packet from:%d.%d.%d.%d Detected!",
                 src_ip[0],src_ip[1],src_ip[2],src_ip[3]);
   switch(sb->nh.iph->protocol)
    {
       case IPPROTO_TCP:
           printk("It's a TCP PACKET\n");break;
       case IPPROTO_ICMP:
          printk("It's a ICMP PACKET\n");break;
      case IPPROTO_UDP:
         printk("It's a UDP PACKET\n");break;
    }
    
    return NF_ACCEPT;          
}

unsigned int hook_func_send(unsigned int hooknum,
                       struct sk_buff **skb,
                       const struct net_device *in,
                       const struct net_device *out,
                       int (*okfn)(struct sk_buff *))
{
     struct sk_buff *sb = *skb;
    unsigned char src_ip[4];
    *(unsigned int *)src_ip = sb->nh.iph->saddr;
   //printk("hook_func_send A packet from:%d.%d.%d.%d Detected!",
     //           src_ip[0],src_ip[1],src_ip[2],src_ip[3]);
   switch(sb->nh.iph->protocol)
    {
       case IPPROTO_TCP:
           //printk("It's a TCP PACKET\n");break;
       case IPPROTO_ICMP:
       		//sb->nh.iph->tos=0xa0;
         // printk("It's a ICMP PACKET totlen=%d.\n",sb->nh.iph->tot_len);break;
      case IPPROTO_UDP:
      	if((sb->nh.iph->tot_len==200)||(sb->nh.iph->tot_len==280)
      	||(sb->nh.iph->tot_len==60)||(sb->nh.iph->tot_len==64))
      	{
      		sb->nh.iph->tos=0xa0;
      		sb->nh.iph->check=0;
      		
      		//sb->nh.iph->check=checksum((unsigned short *)sb->nh.iph,((sb->nh.iph->ihl)|0x0F)*4);  
      		sb->nh.iph->check=checksum((unsigned short *)sb->nh.iph,sb->nh.iph->ihl*4);
      		 //printk("###modify udp tos.\n");
      	}
         //printk("It's a UDP PACKET totlen=%d.\n",sb->nh.iph->tot_len);
         break;
         
    }
    
    return NF_ACCEPT;          
}

int NET_init_module()
{
  
    nfho.hook = hook_func;         
    nfho.hooknum  = NF_IP_PRE_ROUTING; 
    nfho.pf       = PF_INET;
    nfho.priority = NF_IP_PRI_FIRST; 
   // nf_register_hook(&nfho);
    
    nfhoRecv.hook = hook_func_recv;         
    nfhoRecv.hooknum  = NF_IP_LOCAL_IN; 
    nfhoRecv.pf       = PF_INET;
    nfhoRecv.priority = NF_IP_PRI_FIRST; 
 //  nf_register_hook(&nfhoRecv);
    
    
    nfhoSend.hook = hook_func_send;         
    nfhoSend.hooknum  = NF_IP_LOCAL_OUT; 
    nfhoSend.pf       = PF_INET;
    nfhoSend.priority = NF_IP_PRI_FIRST; 
   nf_register_hook(&nfhoSend);
    
    return 0;
}

void NET_cleanup_module()
{
   // nf_unregister_hook(&nfho);
   // nf_unregister_hook(&nfhoRecv);
    nf_unregister_hook(&nfhoSend);
}

module_init(NET_init_module);
module_exit(NET_cleanup_module);


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲精久久久久久| 欧美久久久久久久久久| 亚洲综合丁香婷婷六月香| 日韩精品一区二区三区四区视频| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 精品免费日韩av| 色天天综合色天天久久| 国产白丝网站精品污在线入口| 午夜精品视频一区| 亚洲色图第一区| 久久久久久久久久久黄色| 欧美另类高清zo欧美| 91麻豆免费观看| 国产+成+人+亚洲欧洲自线| 蜜桃精品视频在线观看| 香港成人在线视频| 最新国产成人在线观看| 久久嫩草精品久久久精品| 3d动漫精品啪啪1区2区免费| 精品国产一区二区三区av性色| 在线观看91视频| 91免费看片在线观看| 国产**成人网毛片九色| 国产一区二区调教| 精品综合久久久久久8888| 婷婷丁香激情综合| 亚洲成av人片一区二区梦乃| 夜夜夜精品看看| 亚洲一区av在线| 亚洲综合久久久久| 亚洲一区二区三区视频在线 | 亚洲日本在线看| 国产精品色噜噜| 国产视频911| 欧美国产禁国产网站cc| 国产欧美精品一区aⅴ影院| 国产亚洲综合av| 国产片一区二区| 国产精品色眯眯| 国产精品毛片高清在线完整版| 欧美国产日本韩| 中文字幕制服丝袜成人av| 国产精品久久久久久福利一牛影视 | 日韩va亚洲va欧美va久久| 亚洲成人资源网| 日韩1区2区3区| 精品一区二区三区日韩| 国产成人免费网站| 成人免费的视频| 在线精品亚洲一区二区不卡| 欧美另类变人与禽xxxxx| 日韩欧美国产一区二区三区| 欧美大胆一级视频| 国产精品私人影院| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美一级久久久久久久大片| 日韩一区二区麻豆国产| 久久日一线二线三线suv| 国产三级一区二区| 亚洲老妇xxxxxx| 日本成人在线看| 国产福利一区二区三区在线视频| 成人av在线资源网站| 欧美日韩中文国产| 欧美va在线播放| 日韩美女视频一区| 天天av天天翘天天综合网| 久久91精品国产91久久小草| 丁香婷婷深情五月亚洲| 在线精品视频免费播放| 日韩欧美一级在线播放| 国产精品亲子伦对白| 亚洲国产精品精华液网站| 精品一区二区三区免费播放| 色一区在线观看| 日韩精品一区二区三区四区视频| 国产精品视频第一区| 无吗不卡中文字幕| 国产成人av电影在线观看| 一本色道久久综合狠狠躁的推荐| 欧美一区二区三区视频在线| 国产精品电影一区二区三区| 免费看欧美女人艹b| 99麻豆久久久国产精品免费| 亚洲丝袜另类动漫二区| 麻豆91免费看| 91日韩精品一区| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲啪啪综合av一区二区三区| 男人的天堂亚洲一区| 91在线视频官网| 久久伊99综合婷婷久久伊| 亚洲一区二区三区免费视频| 国产乱对白刺激视频不卡| 欧美日韩www| 中文字幕日本乱码精品影院| 久久99精品久久久久久久久久久久| 91国偷自产一区二区三区观看| 久久综合久久综合久久综合| 首页国产欧美日韩丝袜| 成人精品视频网站| 久久综合狠狠综合| 秋霞av亚洲一区二区三| 欧美综合久久久| 日韩理论电影院| 国产91富婆露脸刺激对白| 欧美电影免费观看高清完整版| 亚洲国产成人高清精品| 99久久99久久精品免费观看 | 欧美一区二区在线免费观看| 中文字幕一区二区三区在线不卡 | 国产suv精品一区二区883| 欧美一区二区三区在线观看| 一区二区三区精品| 99视频热这里只有精品免费| 久久久久久久久久久久久久久99| 日本va欧美va欧美va精品| 欧美色倩网站大全免费| 亚洲精品菠萝久久久久久久| 国产91精品露脸国语对白| 国产人成亚洲第一网站在线播放| 久久99久久精品| 精品av综合导航| 久久精品国产99| 7777精品伊人久久久大香线蕉最新版| 一区二区三区成人在线视频| 成人高清视频在线观看| 国产精品视频免费| 波多野结衣一区二区三区| 国产精品九色蝌蚪自拍| 国产91精品免费| 国产精品久久久久久久久果冻传媒| 成人三级伦理片| 亚洲色欲色欲www| 在线看国产日韩| 亚洲第一综合色| 欧美一区二区三区在线看| 蜜臀av一级做a爰片久久| 精品免费国产一区二区三区四区| 国产一区二区三区黄视频 | 麻豆免费精品视频| 欧美mv日韩mv| 国产精品一线二线三线| 欧美激情一区在线| 91原创在线视频| 亚洲亚洲精品在线观看| 7777精品伊人久久久大香线蕉完整版| 日本亚洲一区二区| 久久综合久久综合久久综合| 国产成人免费在线视频| 国产精品久久久久9999吃药| 91久久久免费一区二区| 亚洲成人第一页| 精品欧美乱码久久久久久| 成人午夜免费av| 一区二区三区四区高清精品免费观看 | 国产精品第四页| 日本韩国精品在线| 日韩电影在线免费看| 精品1区2区在线观看| 成人a免费在线看| 亚洲午夜在线观看视频在线| 日韩视频永久免费| 国产美女主播视频一区| 国产精品进线69影院| 欧美影院精品一区| 六月丁香婷婷色狠狠久久| 国产精品欧美极品| 欧美日韩国产精选| 国产精品一区二区三区99| 亚洲另类春色校园小说| 日韩一区二区在线观看视频播放 | 欧美伊人久久大香线蕉综合69| 日本不卡一区二区| 国产精品你懂的| 欧美二区三区91| 国产成人综合在线| 亚洲福利视频导航| 久久久久久久久久美女| 欧美中文字幕久久| 国产自产高清不卡| 亚洲综合色视频| 国产欧美一区二区精品忘忧草 | 精品亚洲免费视频| 一区二区成人在线观看| 精品国产乱码久久久久久夜甘婷婷| 91蜜桃网址入口| 久久不见久久见免费视频7 | 石原莉奈在线亚洲三区| 国产目拍亚洲精品99久久精品| 欧美色精品在线视频| 国产精品资源网站| 日本欧美在线看| 夜夜夜精品看看| 国产精品传媒视频| 久久久久久久久久美女| 91精品国产色综合久久| 91精品福利视频| 成人av免费在线播放| 国产精品1区2区|