免费注册 查看新帖 |

Chinaunix

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

请问如何开启netfilter/iptables的连接追击功能 [复制链接]

论坛徽章:
0
发表于 2009-08-21 13:22 |显示全部楼层
听dreamice大牛说在内核编译时有选项,但我的UBUNTU安装时自带的iptables,
所以我不清楚开启这个功能没有,我对内核编译没有了解,请问版上有没有人告诉我不编译内核开启的方法,谢谢

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
发表于 2009-08-21 13:32 |显示全部楼层

回复 #1 kidexp 的帖子

这跟你内核的版本有关系
一般2.6的链接模块是nf_conntrack,nf_conntrack_ipv4,nf_nat
还有就是有些系统如fc6你添加相应的规则会自动的添加与之相关的内核模块。
iptables -t nat -L
iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT
这样内核就会自动加载上述模块了。

论坛徽章:
0
发表于 2009-08-21 13:34 |显示全部楼层

回复 #2 瀚海书香 的帖子

我的内核版本是2.6.28-15
是要用规则才能开启吗?
我只用到了iptables -I INPUT -p tcp -j QUEUE

[ 本帖最后由 kidexp 于 2009-8-21 13:36 编辑 ]

论坛徽章:
0
发表于 2009-08-21 13:47 |显示全部楼层
好吧,应该是modprobe ip_conntrack 这个指令就可以了

论坛徽章:
0
发表于 2009-08-21 13:52 |显示全部楼层
但是我得到的数据包的长度最大也只有1500为什么呢,
应该和我设置的MTU=1500没有关系把

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
发表于 2009-08-21 13:54 |显示全部楼层
原帖由 kidexp 于 2009-8-21 13:52 发表
但是我得到的数据包的长度最大也只有1500为什么呢,
应该和我设置的MTU=1500没有关系把


你这个长度在哪里得到的?

论坛徽章:
0
发表于 2009-08-21 14:10 |显示全部楼层

回复 #6 dreamice 的帖子

我昨天发的那个代码

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <signal.h>
  4. #include "libipq.h"
  5. #include <string.h>

  6. struct ipq_handle *h = NULL;

  7. static void sig_int(int signo)
  8. {
  9.         ipq_destroy_handle(h);
  10.         printf("Exit: %s\n", ipq_errstr());
  11.         exit(0);
  12. }

  13. int main(void)
  14. {
  15.         unsigned char buf[1024];
  16.         /* creat handle*/
  17.         h = ipq_create_handle(0, PF_INET);
  18.         if(h == NULL){
  19.                 printf("%s\n", ipq_errstr());
  20.                 return 0;
  21.         }
  22.         printf("ipq_creat_handle success!\n");
  23.         /*set mode*/
  24.         unsigned char mode = IPQ_COPY_PACKET;
  25.         int range = sizeof(buf);
  26.         int ret = ipq_set_mode(h, mode, range);
  27.         printf("ipq_set_mode: send bytes =%d, range=%d\n", ret, range);
  28.       
  29.         /*register signal handler*/
  30.         signal(SIGINT, sig_int);

  31.         /*read packet from kernel*/
  32.         int status;
  33.         struct nlmsghdr *nlh;
  34.         ipq_packet_msg_t *ipq_packet;
  35.       
  36.         while(1){
  37.                 status = ipq_read(h, buf, sizeof(buf));
  38.                 if(status > sizeof(struct nlmsghdr))
  39.                 {
  40.                         nlh = (struct nlmsghdr *)buf;
  41.                         ipq_packet = ipq_get_packet(buf);
  42.                         printf("%s\n",ipq_packet->payload);
  43.                         printf("recv bytes =%d, nlmsg_len=%d, indev=%s, datalen=%d, packet_id=%x\n", status, nlh->nlmsg_len,
  44.                                         ipq_packet->indev_name,  ipq_packet->data_len, ipq_packet->packet_id);
  45.                 }
  46.         }
  47.         return 0;
  48. }
复制代码

  是Godbach兄的代码修改
这里的ipq_packet->data_len就是

论坛徽章:
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
发表于 2009-08-21 14:41 |显示全部楼层
什么意思,我的代码修改了MTU,不是吧

论坛徽章:
0
发表于 2009-08-21 14:43 |显示全部楼层

回复 #8 Godbach 的帖子

没有,我在内核中已经加载了ip_conntrack 的模块,但是,我想得到的TCP分组还是很小,和wireshark抓包得到的结构一样大,所以我想是不是netfilter没有进行数据包分组

论坛徽章:
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
发表于 2009-08-21 14:50 |显示全部楼层
所以我想是不是netfilter没有进行数据包分组

你值得是重组还是分组?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP