免费注册 查看新帖 |

Chinaunix

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

大牛现身解困:网络数据截取 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-25 22:28 |只看该作者 |倒序浏览
linux环境下!截取所有数据包并分析是否丢弃然后再交给系统协议栈,现在都有什么方法呢?实现原理呢?
用socket_raw 和 socket_packet 类型的socket可以实现监听,但是可以实现分析并且丢弃吗?我总觉得不行。。
听说libpcap包可以实现这些功能,还有其他流行的方法吗?什么原理呢

网上搜索了半天没见着什么令人满意的答案,望大牛出来帮小弟一把

论坛徽章:
0
2 [报告]
发表于 2008-07-25 22:41 |只看该作者
帮你顶!我也想知道。
daniudaniu 该用户已被删除
3 [报告]
发表于 2008-07-26 08:29 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2008-07-26 13:35 |只看该作者
用netfilter写个kernel module, 或者是用libipqueue,这个库可以把被iptables标记为queue的包发送到用户空间程序里,你改了以后可以直接使用ipqueue库把包返回到网络栈. 第一种方法最好,难度也不算太高。第二种需要iptables配合使用,有点麻烦。

论坛徽章:
0
5 [报告]
发表于 2008-07-26 19:15 |只看该作者
原帖由 piaobo79 于 2008-7-26 13:35 发表
用netfilter写个kernel module, 或者是用libipqueue,这个库可以把被iptables标记为queue的包发送到用户空间程序里,你改了以后可以直接使用ipqueue库把包返回到网络栈. 第一种方法最好,难度也不算太高。第二种需 ...


赞你…………方法不错

论坛徽章:
0
6 [报告]
发表于 2008-07-27 10:47 |只看该作者
一般都是拷贝,不丢弃

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
7 [报告]
发表于 2008-07-29 10:19 |只看该作者
原帖由 @sky 于 2008-7-27 10:47 发表
一般都是拷贝,不丢弃


对,整一个copy过来就可以了

论坛徽章:
0
8 [报告]
发表于 2008-07-30 17:05 |只看该作者
libiptc

论坛徽章:
0
9 [报告]
发表于 2008-07-30 20:30 |只看该作者
原帖由 piaobo79 于 2008-7-26 13:35 发表
用netfilter写个kernel module, 或者是用libipqueue,这个库可以把被iptables标记为queue的包发送到用户空间程序里,你改了以后可以直接使用ipqueue库把包返回到网络栈. 第一种方法最好,难度也不算太高。第二种需 ...

方法不错

论坛徽章:
0
10 [报告]
发表于 2008-08-05 21:24 |只看该作者
piaobo79

发表于 2008-7-26 13:35
用netfilter写个kernel module, 或者是用libipqueue,这个库可以把被iptables标记为queue的包发送到用户空间程序里,你改了以后可以直接使用ipqueue库把包返回到网络栈. 第一种方法最好,难度也不算太高。第二种需要iptables配合使用,有点麻烦。

挂 netfilter 链只能截取投递到IP层的包,同时如果有使用AF_PACKET类型的程序一样是可以接受到所有的包。
个人觉得可以采用dev_add_pack添加过滤函数,当让在添加你的过滤函数值钱,必须先卸载掉ip_packet_type——如果高兴的话甚至可以吧AF_PACKET的套接字都“HOOK”了;然后在自己的过滤函数里面调用ip_rcv,此方法类似windows中api的 hook。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP