没有合适的资源?快使用搜索试试~ 我知道了~
首页netlink内核态和用户态编程
netlink内核态和用户态编程
需积分: 10 155 浏览量
更新于2023-03-16
评论
收藏 52KB DOC 举报
netlink编程,内核态和用户态编程。netlink编程,内核态和用户态编程。
资源详情
资源评论
资源推荐

内核态
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/netfilter.h>
#include <linux/inet.h>
#include <linux/in.h>
#include <linux/ip.h>
#include <linux/netlink.h>
#include <linux/spinlock.h>
#include <asm/semaphore.h>
#include <net/sock.h>
MODULE_LICENSE("GPL");
DECLARE_MUTEX(receive_sem);
unsigned int i;
static struct sock *nlfd;
static void kernel_receive(struct sock *sk, int len)
{
struct sk_buff *send_skb;
int user_pid;
printk("receive a netlink ");
do
{
struct sk_buff *skb;
if(down_trylock(&receive_sem))
return;
while((skb = skb_dequeue(&sk->receive_queue)) != NULL)
{
printk("skb->len = %x",skb->len);
for(i=0;i<skb->len;i++)
printk("skb data are %x",skb->data[i]);
user_pid=skb->data[0];
//kfree_skb(skb);
send_skb=alloc_skb(102,GFP_ATOMIC);
for(i=0;i<100;i++)
send_skb->data[i]=0x66;
send_skb->len=100;













安全验证
文档复制为VIP权益,开通VIP直接复制

评论0