- 论坛徽章:
- 0
|
我在inet_stream_ops hookaccept
如果我先启动apache 然后加载内核 用火狐或者wget去访问apache dmesg显示只会打印
int my_socket_post_accept(struct socket *sock,struct socket *newsock, int flags)
{
int ret = 0;
printk("before accept\n");
ret = sys_socket_org_accept(sock, newsock, flags);
printk("post accept\n");
own_socket_post_accept_filter(sock, newsock, flags);
return ret;
}
只会打印出 beforeaccept
但是先启动内核在启动apache 就能执行完
挂载钩子处代码
sys_socket_org_accept = inet_stream_ops_hooks->accept;
inet_stream_ops_hooks->accept = own_socket_post_accept;
inet_stream_ops_hooks是从内核导出的inet_stream_ops的地址
cat /proc/kallsyms | grep "inet_stream_ops"
ffffffff81673320 R inet_stream_ops
这个是从我的内核模块打印出来的
inet_stream_ops address[ffffffff81673320] |
|