免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: tiger625
打印 上一主题 下一主题

PF_RING的pfcount没有抓到包 [复制链接]

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
11 [报告]
发表于 2014-04-29 08:31 |只看该作者
回复 9# siyu_yangyang
估计你的重复贴发太多了,被删了。

知道错误点你还不知道怎么去改,证明你对BPF很不熟悉,那你为什么不用libpcap呢?如果你想追求PF_RING的性能,libpcap也有针对PF_RING的版本呀,想不明白。libpcap的过滤规则是人性化的字符串,而BPF是类汇编的语言,如果你以前没有汇编的编程经验,会觉得他比较别扭。

如果你真坚持用BPF,那请你先把BPF学会再说。
百度一个Linux BPF, 有很多文章,如:
http://blog.csdn.net/maeom/article/details/6092457

我今天百度BPF才发现,你可能是拷贝别人的代码,而不是自己写的,那个出错点是因为别人代码里有某些代码变成笑脸了。如:
http://bbs.chinaunix.net/thread-1972792-1-1.html
大哥,你拷贝也找份完整点的呀!

你这种新手,建议还是用回libpcap吧。别折腾了。
百度一个libpcap吧,例如:
http://blog.csdn.net/htttw/article/details/7521053

如果还不知道过滤规则怎么用,那就先学会用现在的工具tcpdump再说吧。


   

论坛徽章:
0
12 [报告]
发表于 2014-04-29 08:32 |只看该作者
回复 7# Tinnal


我那个bpf过滤没有问题
struct bpf_insn insns[] = {  

52.    BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 12),   
59.    BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, ETHERTYPE_IP, 0, 10),  
60.    BPF_STMT(BPF_LD+BPF_B+BPF_ABS, 23),  
61.    BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, IPPROTO_TCP, 0, ,  
62.    BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 20),  
63.    BPF_JUMP(BPF_JMP+BPF_JSET+BPF_K, 0x1fff, 6, 0),  
64.    BPF_STMT(BPF_LDX+BPF_B+BPF_MSH, 14),  
65.    BPF_STMT(BPF_LD+BPF_H+BPF_IND, 14),  
66.    BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 79, 2, 0),  
67.    BPF_STMT(BPF_LD+BPF_H+BPF_IND, 16),  
68.    BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 79, 0, 1),  
69.    BPF_STMT(BPF_RET+BPF_K, (u_int)-1),  
70.    BPF_STMT(BPF_RET+BPF_K, 0),  
71.};  

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
13 [报告]
发表于 2014-04-29 08:36 |只看该作者
回复 10# siyu_yangyang
要善用百度!!!!大哥。等你发现百度解不了你的问题,就要用google。这么初级的问题,论坛也很少人会答的。

给你个链接,也是百度出来的。
http://blog.csdn.net/leeshuheng/article/details/7729514


   

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
14 [报告]
发表于 2014-04-29 08:43 |只看该作者
回复 12# siyu_yangyang

你原来的代码连那个笑脸都没有,出来个笑脸,还有可能是代码没有问题,只是你不会贴代码。但没有笑脸的版本你让我如何认为你的代码是对的呀。
chinaunix论坛的发贴窗口里是有专门粘代码的功能的,看看在线编辑器的工具栏。

   

论坛徽章:
0
15 [报告]
发表于 2014-04-29 08:52 |只看该作者
回复 13# Tinnal


    大哥们,哥们学了两天了,五一前要把东西做出来!经理逼的紧呀!

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
16 [报告]
发表于 2014-04-29 08:59 |只看该作者
回复 15# siyu_yangyang
跳槽吧。呵呵。

   

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
17 [报告]
发表于 2014-04-29 09:03 |只看该作者
回复 15# siyu_yangyang
想效率快,问题少,维护容易,请用RF_RING+libpcap或直接原生libpcap。
想性能好就直接用PF_RING吧。

   

论坛徽章:
0
18 [报告]
发表于 2014-04-29 09:09 |只看该作者
回复 16# Tinnal


    大哥们,小弟还没有大学毕业,怎么能跳槽呢?我用的代码来源于pf_ring里面的pfcount.c,这个开源代码,PF_RING里面包括libpcap,

typedef struct {
  u_int16_t rule_id;                 /* Rules are processed in order from lowest to higest id */
  rule_action_behaviour rule_action; /* What to do in case of match */
  u_int8_t balance_id, balance_pool; /* If balance_pool > 0, then pass the packet above only if the
                                        (hash(proto, sip, sport, dip, dport) % balance_pool) = balance_id */
  u_int8_t locked;                     /* Do not purge with pfring_purge_idle_rules() */
  u_int8_t bidirectional;             /* Swap peers when checking if they match the rule. Default: monodir */
  filtering_rule_core_fields     core_fields;
  filtering_rule_extended_fields extended_fields;
  filtering_rule_plugin_action   plugin_action;
  char reflector_device_name[REFLECTOR_NAME_LEN];

  filtering_internals internals;   /* PF_RING internal fields */
} filtering_rule;
配置这个结构体,调用pfring_add_filtering_rule(pd, &rule))函数生成规则,主要是怎么配置这个结构体才能生成过滤一组的IP数据包呢

论坛徽章:
0
19 [报告]
发表于 2014-04-29 09:11 |只看该作者
回复 17# Tinnal


    求,哥哥们给点代码,可以做参考!

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
20 [报告]
发表于 2014-04-29 14:10 |只看该作者
本帖最后由 Tinnal 于 2014-04-29 14:14 编辑

晕,作为学生,你更应该去自己研究呀。采用libpcap的代码,前面的回复已经给你链接了呀。
研究生了,要学会学习。
已经学过很多遍,尤其对于你们学生,先要做得出来,再考虑做好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP