Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux netfilterÔ´Âë·ÖÎö(2)

תÌù×Ôhttp://alexanderlaw.blog.hexun.com/8968771_d.html
¶þ¡¢ipt_tableÊý¾Ý½á¹¹ºÍ±íµÄ³õʼ»¯
 
2.1  include/linux/netfilter_ipv4/ip_tables.h   struct  ipt_table ±í½á¹¹
struct ipt_table
{
struct list_head list;
/* ±íÁ´ */
char name[IPT_TABLE_MAXNAMELEN];
/* ±íÃû£¬Èç"filter"¡¢"nat"µÈ£¬ÎªÁËÂú×ã×Ô¶¯Ä£¿é¼ÓÔصÄÉè¼Æ£¬°üº¬¸Ã±íµÄÄ£¿éÓ¦ÃüÃûΪiptable_'name'.o */
struct ipt_replace *table;
/* ±íÄ£×Ó£¬³õʼΪinitial_table.repl */
unsigned int valid_hooks;
/* λÏòÁ¿£¬±êʾ±¾±íËùÓ°ÏìµÄHOOK */
rwlock_t lock;
/* ¶ÁдËø£¬³õʼΪ´ò¿ª×´Ì¬ */
struct ipt_table_info *private;
/* iptableµÄÊý¾ÝÇø£¬¼ûÏ */
struct module *me;
/* ÊÇ·ñÔÚÄ£¿éÖж¨Òå */
};
 
 
 
2.2  struct ipt_table_infoÊÇʵ¼ÊÃèÊö±íµÄÊý¾Ý½á¹¹ ip_tables.c
struct ipt_table_info
{
unsigned int size;
/* ±í´óС */
unsigned int number;
/* ±íÖеĹæÔòÊý */
unsigned int initial_entries;
/* ³õʼµÄ¹æÔòÊý£¬ÓÃÓÚÄ£¿é¼ÆÊý */
unsigned int hook_entry[NF_IP_NUMHOOKS];
/* ¼Ç¼ËùÓ°ÏìµÄHOOKµÄ¹æÔòÈë¿ÚÏà¶ÔÓÚÏÂÃæµÄentries±äÁ¿µÄÆ«ÒÆÁ¿ */
unsigned int underflow[NF_IP_NUMHOOKS];
/* Óëhook_entryÏà¶ÔÓ¦µÄ¹æÔò±íÉÏÏÞÆ«ÒÆÁ¿£¬µ±ÎÞ¹æÔò¼Èëʱ£¬ÏàÓ¦µÄhook_entryºÍunderflow¾ùΪ0 */
char entries[0] ____cacheline_aligned;
/* ¹æÔò±íÈë¿Ú */
};
 
2.3   include/linux/netfilter_ipv4  ¹æÔòÓÃstruct ipt_entry½á¹¹±íʾ£¬°üº¬Æ¥ÅäÓõÄIPÍ·²¿·Ö¡¢Ò»¸öTargetºÍ0¸ö»ò¶à¸öMatch¡£ÓÉÓÚMatchÊý²»¶¨£¬ËùÒÔÒ»Ìõ¹æÔòʵ¼ÊµÄÕ¼ÓÿռäÊǿɱäµÄ¡£½á¹¹¶¨ÒåÈçÏÂ
 
struct ipt_entry
{
struct ipt_ip ip;
/* ËùҪƥÅäµÄ±¨ÎĵÄIPÍ·ÐÅÏ¢ */
unsigned int nfcache;
/* λÏòÁ¿£¬±êʾ±¾¹æÔò¹ØÐı¨ÎĵÄʲô²¿·Ö£¬ÔÝδʹÓà */
u_int16_t target_offset;
/* targetÇøµÄÆ«ÒÆ£¬Í¨³£targetÇøλÓÚmatchÇøÖ®ºó£¬¶ømatchÇøÔòÔÚipt_entryµÄĩβ£»
³õʼ»¯Îªsizeof(struct ipt_entry)£¬¼´¼Ù¶¨Ã»ÓÐmatch */
u_int16_t next_offset;
/* ÏÂÒ»Ìõ¹æÔòÏà¶ÔÓÚ±¾¹æÔòµÄÆ«ÒÆ£¬Ò²¼´±¾¹æÔòËùÓÿռäµÄ×ܺͣ¬
³õʼ»¯Îªsizeof(struct ipt_entry)+sizeof(struct ipt_target)£¬¼´Ã»ÓÐmatch */
unsigned int comefrom;
/* ¹æÔò·µ»Øµã£¬±ê¼Çµ÷Óñ¾¹æÔòµÄHOOKºÅ£¬¿ÉÓÃÓÚ¼ì²é¹æÔòµÄ


Ïà¹ØÎĵµ£º

LinuxÖÐÎÄÂÒÂëÎÊÌâ


LinuxÖÐÎÄÂÒÂëÎÊÌâ
×î½ü£¬¹«Ë¾ÔÚXPϵͳÓÚLINUXÖ®¼ä´«Êý¾Ýʱ³öÏÖÁËÖÐÎÄÂÒÂëÎÊÌâ!
Ê×ÏÈ£¬½âÊÍÒ»ÏÂ×Ö·û¼¯£º
ºº×Ö±àÂë:
* GB2312×Ö¼¯ÊǼòÌå×Ö¼¯£¬È«³ÆΪGB2312(80)×Ö¼¯£¬¹²°üÀ¨¹ú±ê¼òÌ庺×Ö6763¸ö¡£ *
BIG5×Ö¼¯ÊÇ̨Íå·±Ìå×Ö¼¯£¬¹²°üÀ¨¹ú±ê·±Ì庺×Ö13053¸ö¡£ *
GBK×Ö¼¯ÊǼò·±×Ö¼¯£¬°üÀ¨ÁËGB×Ö¼¯¡¢BIG5×Ö¼¯ºÍһЩ·ûºÅ£ ......

ÐéÄâ»úÏÂlinux¹ÒÔØUÅÌ

ÐèÒªÈÃÄãµÄÐéÄâ»úGuest OS(Linux)ÄÜ×Ô¶¯Ê¶±ðUÅÌ¡£
·½·¨ÈçÏ£º
±£³Ö½¹µãÔÚLinuxÉÏ£¬²åÈëUÅÌ£¬ÕâʱËÞÖ÷²Ù×÷ϵͳWindows»áµ¯³ö“ÕÒµ½ÐÂÉ豸µÄÌáʾ”£¬È»ºóÒ»²½Ò»²½
µÄµãÏÂÒ»²½£¬½áÊøÒԺ󣬾ͿÉÒÔÔÚlinuxʹÓÃfdisk -l /dev/sdbÃüÁî²é¿´µ½/dev/sdb1¡£
ÔÚÐéÄâ»úʶ±ð³öUSBÖ®ºó£¬ÓÃ
fdisk -l /dev/sdb
»ò
fdisk -l ......

LinuxÖеÄÑÓʱº¯Êý¼°»ñȡϵͳʱ¼äº¯Êý

Ó¦Óò㣺
   #include <unistd.h>
 
   1¡¢unsigned int sleep(unsigned int seconds); Ã뼶
   2¡¢int usleep(useconds_t usec);              ΢Ã뼶£º1/10^-6 
 
   #define _PO ......

Linux»·¾³½ø³Ì¼äͨÐÅ£¨Ò»£©


Linux»·¾³½ø³Ì¼äͨÐÅ£¨Ò»£©
¹ÜµÀ¼°ÓÐÃû¹ÜµÀ
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width ......

Linux netfilterÔ´Âë·ÖÎö(1)

תÌù×Ô:http://alexanderlaw.blog.hexun.com/8960896_d.html
Linux netfilterÔ´Âë·ÖÎö(1)
ÄÚÈÝ»ù±¾ÉÏÀ´×ÔÁ½ÆªÎÄÕÂ:
¡¶NetfilterÔ´Âë·ÖÎö¡·—£¨¶À¹Â¾Å¼úhttp://www.skynet.org.cn/index.php£©
¡¶Linux NetfilterʵÏÖ»úÖƺÍÀ©Õ¹¼¼Êõ¡·——£¨ÑîɳÖÞ ¹ú·À¿Æ¼¼´óѧ¼ÆËã»úѧԺ£©
Ò»¡¢   IP±¨ÎÄµÄ½Ó ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ