- 论坛徽章:
- 1
|
本帖最后由 jiufei19 于 2010-06-21 09:52 编辑
回复 4# snriyt
感谢指导,的确我在论坛上搜了九贱的一篇文章:http://linux.chinaunix.net/bbs/v ... p;extra=&page=2,其中描述了这个处理,但是可能我理解力稍差些,还是没有能理解九剑前辈的说明,因此希望大家能解惑!
PS:下面是几个相关问题
1、struct ipt_ip是标准规则的定义:
struct ipt_ip {
39 /* Source and destination IP addr */
40 struct in_addr src, dst;
41 /* Mask for src and dest IP addr */
42 struct in_addr smsk, dmsk;
43 char iniface[IFNAMSIZ], outiface[IFNAMSIZ];
44 unsigned char iniface_mask[IFNAMSIZ], outiface_mask[IFNAMSIZ];
45
46 /* Protocol, 0 = ANY */
47 u_int16_t proto;
48
49 /* Flags word */
50 u_int8_t flags;
51 /* Inverse flags */
52 u_int8_t invflags;
53 };
我现在正在看packet_filter表,根据netfilter的定义,packet_filter表在LOCAL_IN,LOCAL_OUT,FORWARD这3个hook点处被执行,那么这个ipt_ip中的所谓源ip,目的ip(以及所谓的源、目的掩码)到底是指什么?例如如果目前正在处理一个LOCAL_IN的分组,那么源ip是收到分组的源ip地址,但是如果是正在处理一个LOCAL_OUT分组,那么源ip是指本地发出分组的源ip了
2、ipt_ip中的flags和invflags是什么意思? |
|