免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3481 | 回复: 6
打印 上一主题 下一主题

[C] 如何从内核里获取TCP数据包发送到用户空间,然后在用户空间处理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-16 12:01 |只看该作者 |倒序浏览
如何从内核里获取TCP数据包发送到用户空间,然后在用户空间处理,

netlink+netfilter(NF_IP_LOCAL_IN)会是一种方法吗?

谢谢先

论坛徽章:
0
2 [报告]
发表于 2009-07-16 19:05 |只看该作者
为什么要这样做呢?

论坛徽章:
0
3 [报告]
发表于 2009-07-17 10:08 |只看该作者

回复 #2 beepbug 的帖子

在用户空间做TCP协议 以及其他的一些工作

[ 本帖最后由 zimang 于 2009-7-17 10:11 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-07-17 10:21 |只看该作者
不知道你要做啥?是类似于抓包上来,还是什么?如果是复位包出来可以用PF_PACKET,如果要进行一些拦截处理不知道netfilter能否做到,FreeBSD的ipfw是可以的。

还有就是TUN/TAP,也可以把包导到用户空间。要说清楚你的具体需求,才能搞清楚用哪种方式更好。

论坛徽章:
0
5 [报告]
发表于 2009-07-17 10:39 |只看该作者

回复 #4 Cyberman.Wu 的帖子

在用户层实现tcp功能,因为要分析数据包里面的内容,还要处理一下数据段(插入或过滤一些内容) 就是进来的TCP数据包要直接到用户空间。

论坛徽章:
0
6 [报告]
发表于 2009-07-25 15:14 |只看该作者
你这个需求是要拦截吧?这样通常只能用防火墙一类的提供的机制可以办到,netfilter我不熟悉,不知道能不能设置一下就传到用户空间,不过它好像支持自己再开始一些东西吧?或者拿源代码自己改一下了。
cipher_ly 该用户已被删除
7 [报告]
发表于 2013-04-15 15:08 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP