免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 15330 | 回复: 28

[网络管理] ipp2p模块——0.99.17 [复制链接]

论坛徽章:
0
发表于 2008-10-17 16:49 |显示全部楼层
16以及之前版本的帖子在这

版本变更说明
1。特征码部分变化不大,迅雷有点小的改动。
2。过滤部分采用了类似L7-filter的有限识别(无非就是识别每条连接的前几个数据包,不再识别所有数据包)。

/*
安装说明:
patch.diff是内核的patch文件,使用patch工具修补到内核的源代码中即可。

[root @ kernel_src ]# patch -p1 < /path/to/patch.diff
然后重新编译内核
[root @ ipp2p-0.99.17 ]# KERNEL_SRC=/path/to/kernel_src make
编译模块和动态连接库
拷贝*.ko到/lib/modules/kernel_version/kernel/net/ipv4/netfilter/
拷贝*.so到iptables的连接库目录(通常为/lib/iptables/)
*/

需要注意一点,这个版本的内核模块分为2个,一个是控制模块,另一个是特征码模块。
配置-m ipp2p规则时,特征码模块并不会自动加载,需要手动加载。

后续特征码更新时,可以直接rmmod ipt_ipp2p_data,再重新加载新的ipt_ipp2p_data.ko。
不需要删除相应规则。


应用层协议的识别并不具有太高的技术含量,而且对于非开放的协议,需要人力进行后续跟踪维护。

如果有人可以贡献特征码的话,会有人添加到模块中的。

ipp2p-0.99.17.tar.gz

11.01 KB, 下载次数: 622

论坛徽章:
0
发表于 2008-10-17 23:54 |显示全部楼层
是否有修正mysql的问题?

论坛徽章:
0
发表于 2008-10-18 09:56 |显示全部楼层
下下来make下先,

对ShadowStar 兄的敬仰如涛涛江水

论坛徽章:
0
发表于 2008-10-19 10:19 |显示全部楼层
谢谢楼主 先去下载了。。。
有问题了 我再来反应

论坛徽章:
0
发表于 2008-10-20 19:47 |显示全部楼层
多谢楼主,对应哪个内核?

论坛徽章:
0
发表于 2008-10-21 16:21 |显示全部楼层
这个东西不错,网络方面的内核模块;

论坛徽章:
0
发表于 2008-10-22 11:16 |显示全部楼层
楼主:试了一下,好象DC有点问题
如下的函数中,*t=0x24, 那么二个memcmp的判断永远不能成立吧?
另外,如何控制memcmp与packet_len的关系呢?会不会内存越界?

/*Search for UDP DirectConnect commands*/
static int
udp_search_directconnect (const unsigned char *t, const __u16 packet_len)
{
    if ((*t == 0x24) && (*(t+packet_len-1) == 0x7c)) {
            if (memcmp(t, "SR ", 3) == 0)        return ((IPP2P_DC * 100) + 60);
            if (memcmp(t, "Ping ", 5) == 0)        return ((IPP2P_DC * 100) + 61);
    }
    return 0;
}/*udp_search_directconnect*/

论坛徽章:
0
发表于 2008-10-22 11:34 |显示全部楼层
原帖由 indepth 于 2008-10-22 11:16 发表
楼主:试了一下,好象DC有点问题
如下的函数中,*t=0x24, 那么二个memcmp的判断永远不能成立吧?
另外,如何控制memcmp与packet_len的关系呢?会不会内存越界?

/*Search for UDP DirectConnect commands* ...


确实有问题。

DC我没测试过,所以也没注意。

刚才看了一下,原始版本就是这样。

论坛徽章:
0
发表于 2008-11-04 23:41 |显示全部楼层
好东西。

论坛徽章:
0
发表于 2008-11-07 11:07 |显示全部楼层
在iptables-1.4.2下无法编译,

  1. gcc -O2 -pipe -Wall -DIPTABLES_VERSION=\"1.4.2\" -I/usr/src/iptables-1.4.2/include -fPIC -c libipt_ipp2p.c
  2. libipt_ipp2p.c:364: error: variable bipp2pb has initializer but incomplete type
  3. libipt_ipp2p.c:366: error: unknown field bnextb specified in initializer
  4. libipt_ipp2p.c:366: warning: excess elements in struct initializer
  5. libipt_ipp2p.c:366: warning: (near initialization for bipp2pb)
  6. libipt_ipp2p.c:367: error: unknown field bnameb specified in initializer
  7. libipt_ipp2p.c:367: warning: excess elements in struct initializer
  8. libipt_ipp2p.c:367: warning: (near initialization for bipp2pb)
  9. libipt_ipp2p.c:368: error: unknown field bversionb specified in initializer
  10. libipt_ipp2p.c:368: warning: excess elements in struct initializer
  11. libipt_ipp2p.c:368: warning: (near initialization for bipp2pb)
  12. libipt_ipp2p.c:369: error: unknown field bsizeb specified in initializer
  13. libipt_ipp2p.c:369: warning: excess elements in struct initializer
  14. libipt_ipp2p.c:369: warning: (near initialization for bipp2pb)
  15. libipt_ipp2p.c:370: error: unknown field buserspacesizeb specified in initializer
  16. libipt_ipp2p.c:370: warning: excess elements in struct initializer
  17. libipt_ipp2p.c:370: warning: (near initialization for bipp2pb)
  18. libipt_ipp2p.c:371: error: unknown field bhelpb specified in initializer
  19. libipt_ipp2p.c:371: warning: excess elements in struct initializer
  20. libipt_ipp2p.c:371: warning: (near initialization for bipp2pb)
  21. libipt_ipp2p.c:372: error: unknown field binitb specified in initializer
  22. libipt_ipp2p.c:372: warning: excess elements in struct initializer
  23. libipt_ipp2p.c:372: warning: (near initialization for bipp2pb)
  24. libipt_ipp2p.c:373: error: unknown field bparseb specified in initializer
  25. libipt_ipp2p.c:373: warning: excess elements in struct initializer
  26. libipt_ipp2p.c:373: warning: (near initialization for bipp2pb)
  27. libipt_ipp2p.c:374: error: unknown field bfinal_checkb specified in initializer
  28. libipt_ipp2p.c:374: warning: excess elements in struct initializer
  29. libipt_ipp2p.c:374: warning: (near initialization for bipp2pb)
  30. libipt_ipp2p.c:375: error: unknown field bprintb specified in initializer
  31. libipt_ipp2p.c:375: warning: excess elements in struct initializer
  32. libipt_ipp2p.c:375: warning: (near initialization for bipp2pb)
  33. libipt_ipp2p.c:376: error: unknown field bsaveb specified in initializer
  34. libipt_ipp2p.c:376: warning: excess elements in struct initializer
  35. libipt_ipp2p.c:376: warning: (near initialization for bipp2pb)
  36. libipt_ipp2p.c:377: error: unknown field bextra_optsb specified in initializer
  37. libipt_ipp2p.c:378: warning: excess elements in struct initializer
  38. libipt_ipp2p.c:378: warning: (near initialization for bipp2pb)
  39. libipt_ipp2p.c: In function b_INITb:
  40. libipt_ipp2p.c:384: warning: implicit declaration of function bregister_matchb
复制代码


查了一下,应该是iptables取消了 iptables_match,改用xtables_match,内部结构也有些小调整。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP