急求帮助,,内核模块如何发送数据到网络??
时间:2006-03-19
来源:互联网
想编一内核模块,基本功能是在netfilter下的一个钩子下注册一个处理函数,
此函数会把上层的包拦住,让后请求服务器作出应答,如果应答1,则该包放行
o则抛弃,
问题:如何在内核模块构建udp包发送到网络并等待回应。。。。。???
急呀!!
此函数会把上层的包拦住,让后请求服务器作出应答,如果应答1,则该包放行
o则抛弃,
问题:如何在内核模块构建udp包发送到网络并等待回应。。。。。???
急呀!!
作者: macping 发布时间: 2006-03-19
效率太低了。怎么帖子发了一个晚上都没有回。。。。。
艾。。。。。。。。。。。。。。
艾。。。。。。。。。。。。。。
作者: macping 发布时间: 2006-03-19
用sock_create_kern(PF_INET, SOCK_DGRAM, IPPROTO_UDP, &sock)
创建socket结构.
用kernel_sendmsg(sock, &msg, &vec, x, xxx)发送数据包,
内核态的bsd socket和用户态的socket基本相同, 不过内核态用socket结构, 用户态用文件描述符, 内核的bind/connect/listen函数都用socket->ops->bind/connect/listen... 等, 发包和收包用kernel_sendmsg和kernel_recvmsg, 不过注意, kernel用kvec, 用户态用iovec, 不过他们可以相互转换. 用sourcenavigator看packetgen.c(一个内核发包模块)就明白了.
另: 人家回答你的问题是自愿的, 不要报怨.
创建socket结构.
用kernel_sendmsg(sock, &msg, &vec, x, xxx)发送数据包,
内核态的bsd socket和用户态的socket基本相同, 不过内核态用socket结构, 用户态用文件描述符, 内核的bind/connect/listen函数都用socket->ops->bind/connect/listen... 等, 发包和收包用kernel_sendmsg和kernel_recvmsg, 不过注意, kernel用kvec, 用户态用iovec, 不过他们可以相互转换. 用sourcenavigator看packetgen.c(一个内核发包模块)就明白了.
另: 人家回答你的问题是自愿的, 不要报怨.
作者: JBug 发布时间: 2006-03-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28