¡¾×ªÌûLINUX¡¿netfilterÖеÄconntrackÄÚºËÔĶÁ±Ê¼Ç(1)
2008-07-07 22:04×´ ̬¼ì²â(stateful inspection)ÊÇÓÉCheckPoint¹«Ë¾×îÏÈÌá³öµÄ£¬¿ÉËãÊÇ·À»ðǽ¼¼ÊõµÄÒ»ÏîÍ»ÆÆÐÔ±ä¸ï£¬°Ñ°ü¹ýÂ˵ĿìËÙÐԺʹúÀíµÄ°²È«ÐԺܺõؽáºÏÔÚÒ»Æð£¬ ĿǰÒѾÊÇ·À»ðǽ×îÁ÷Ðеļì²â·½Ê½¡£×´Ì¬¼ì²âµÄ¸ù±¾Ë¼ÏëÊǶÔËùÓÐÍøÂçÊý¾Ý½¨Á¢“Á¬½Ó”µÄ¸ÅÄ´Ë“Á¬½Ó”ÊÇÃæÏò“Á¬½Ó”µÄÐÒéÖ®“Á¬½Ó”µÄÀ©Õ¹£¬¶Ô·ÇÁ¬½Ó ÐÒéÊý¾ÝÒ²¿ÉÒÔ½¨Á¢ÐéÄâÁ¬½Ó¡£¼ÈÈ»ÊÇÁ¬½Ó£¬±ØÈ»ÊÇÓÐÒ»¶¨µÄ˳ÐòµÄ£¬Í¨ÐÅÁ½±ßµÄÁ¬½Ó״̬ҲÊÇÓÐÒ»¶¨Ë³Ðò½øÐб仯µÄ¡£·À»ðǽµÄ״̬¼ì²â¾ÍÊÇÊÂÏÈÈ·¶¨ºÃÁ¬½ÓµÄºÏ ·¨¹ý³Ìģʽ£¬Èç¹ûÊý¾Ý¹ý³Ì·ûºÏÕâ¸öģʽ£¬Ôò˵Ã÷Êý¾ÝÊǺϷ¨ÕýÈ·µÄ£¬·ñÔò¾ÍÊÇ·Ç·¨Êý¾Ý£¬Ó¦¸Ã±»¶ªÆú¡£
2.6Äں˵ÄLinuxÖеķÀ»ðǽ´úÂënetfilterÖÐʵÏÖÁË״̬¼ì²â (stateful inspection)¼ì²â¼¼Êõ£ºLinuxΪÿһ¸ö¾¹ýÍøÂç¶ÑÕ»µÄÊý¾Ý°ü£¬Éú³ÉÒ»¸öеÄÁ¬½Ó¼Ç¼ÏConnection entry£©¡£´Ëºó£¬ËùÓÐÊôÓÚ´ËÁ¬½ÓµÄÊý¾Ý°ü¶¼±»Î¨Ò»µØ·ÖÅ䏸Õâ¸öÁ¬½Ó£¬²¢±êʶÁ¬½ÓµÄ״̬¡£linuxÔÚnetfilterµÄhookµãÉÏΪ contrack¶¨ÒåÁËÈçϼ¸¸ö¹Ò½Óµã£¬ÓÃÀ´´¦ÀíÁ÷¾µÄip°ü£º
NF_IP_PRE_ROUTING £º ip_conntrack_defrag -> ip_conntrack_in
NF_IP_LOCAL_IN £º ip_conntrack_help -> ip_confirm
NF_IP_LOCAL_OUT £º ip_conntrack_defrag -> ip_conntrack_local
NF_IP_POST_ROUTING £ºip_conntrack_help -> ip_confirm
ÆäÖÐip_contrack_defragÓÃÀ´´¦Àí±¨ÎÄ·Ö Æ¬£»ip_conntrack_inºÍip_conntrack_local(ÄÚ²¿µ÷ÓÃip_conntrack_in)ÓÃÓÚconntrackΪÿ¸öÁ¬ ½Ó½¨Á¢Ä£Ê½¼Ç¼£¬ip_conntrack£¬²¢Åжϱ¨ÎÄÊÇ·ñ·ûºÏºÏ·¨µÄģʽ£¬²»·ûºÏÔò¶ªÆú£»ip_conntrack_helpÊÇÕë¶ÔʹÓö¯Ì¬ÐÒéºÍ¶Ë¿Ú µÄÁ¬½ÓÉè¼ÆµÄÊý¾Ý½á¹¹£¬ÈçÒ»¸öftpÁ¬½ÓÕë¶ÔÊý¾ÝÁ÷ºÍ¿ØÖÆÁ÷·Ö±ðÓõ½ÁËÁ½¸ö¶Ë¿Ú£¬£»ip_confirmÅжϱ¨ÎÄËùÊôµÄģʽip_conntrackÊÇ·ñ ÒѾ´æÔÚϵͳ¹þÏ£ÖУ¬·ñÔò¼ÓÈ뵽ϵͳµÄhashÖС£
NetfilterʹÓÃÒ»ÕÅÈ«¾Öhash±íÀ´¶¨Ò屨ÎĵÄÁ¬½Ó״̬£¬Ëü¶¨ÒåÔÚip_conntrack_core.cÖУ¬ÓÃÖ¸Õëstruct list_head *ip_conntrack_hashÀ´ÃèÊö¸Ã±í¡£Õâ¸öhash±íµÄ´óСÊÇÓÐÏÞÖÆµÄ£¬ÔÚÄ£¿é×°ÔØµÄʱºòÈ·¶¨£¬¿ÉÒÔÓÉÓû§Ö¸¶¨£¬ÓÉip_con
Ïà¹ØÎĵµ£º
linux—selectÏê½â
selectϵͳµ÷ÓÃʱÓÃÀ´ÈÃÎÒÃǵijÌÐò¼àÊÓ¶à¸öÎļþ¾ä±úµÄ״̬±ä»¯µÄ¡£³ÌÐò»áÍ£ÔÚselectÕâÀïµÈ´ý£¬Ö±µ½±»¼àÊÓµÄÎļþ¾ä±úÓÐÒ»¸ö»ò¶à¸ö·¢ÉúÁË״̬¸Ä±ä¡£
¹ØÓÚÎļþ¾ä±ú£¬Æäʵ¾ÍÊÇÒ»¸öÕûÊý£¬Í¨¹ýsocketº¯ÊýµÄÉùÃ÷¾ÍÃ÷°×ÁË£º
int socket(int domain, int type, int protocol);
ÎÒÃÇ×îÊìϤµÄ¾ä±úÊÇ0¡¢1¡¢2 ......
¿É°²×°ÔÚUÅÌÉϵIJÙ×÷ϵͳ Puppy Linux 4.1 Beta
Ò»¡¢ UÅ̰²×°Puppy Linux·½·¨
1¡¢ÏÂÔØ°²×°FlashBoot¡£¿ÉÒÔÔÚgoogleÉÏËÑÒ»ÏÂÏÂÔØ
ÔËÐÐFlashBoot£¬°´ÏÂͼºìÉ«¿òÑ¡Ôñ£¬µã¡¾ÏÂÒ»²½¡¿
Ñ¡ÔñÄãÏÂÔØµÄiso¾µÏñ£¬¡¾ÏÂÒ»²½¡¿
Ñ¡ÔñÄãµÄUÅÌÅÌ·û£¬²»ÒªÑ¡´íÁË¡£µã¡¾ÏÂÒ»²½¡¿
ÕâÒ»²½Òª×¢Ò⣬ĬÈÏÑ¡ÔñµÄÊDz»¸ñÅÌ¡£ ......
ÊÇÒªÓм¸¸ö½×¶ÎµÄ¡£ ¿ªÊ¼¿´ulk,
ulk×îºÃµÄµØ·½¾ÍÊÇËûËù³«µ¼µÄѧϰ·½·¨ÌرðºÃ¡£µ±ÄãÏëѧϰij·½ÃæÊ±£¬ÏÈ¿´Í·Îļþ£¬ÔÚû°Ñÿ¸öÊý¾Ý½á¹¹ÖеÄÿ¸öÊý¾ÝÔªËØÅªÇå³þ֮ǰ²»Òª¿´ÊµÏÖ´úÂë¡£
¶ÁÍêÍ·Îļþ£¬Òâζ×ÅÆäÖеÄ×éÖ¯¹ØÏµ¸ú±ðµÄµØ·½µÄÁªÏµ¾ÍÇå³þÁË£¬ÕâʱºòÄãÈ¥¿´ÊµÏֵĴúÂëÄã»á·¢ÏÖËûÒѾ×öµÄÕýÊÇÄãËùÏëµÄ¡£
¸ú×Åulk°ÑÕâЩ»ù±¾µ ......
http://blog.csdn.net/dinitial/archive/2009/02/22/3923559.aspx
Gdb+gdbserver+insight»·¾³µÄ´î½¨
1. ÏÂÔØgdbÔ´´úÂë http://ftp.gnu.org/gnu/gdb/
2. ÅäÖð²×°gdb+gdbser
$ tar jxvf gdb-6.6.tar.bz2
$ cd x/gdb
$ ./configure --target=arm-linux --prefix ......
apacheµÄÔ´Âë°²×°
½«Ñ¹Ëõ°ü½âѹ֮ºó½øÈëÏàÓ¦µÄĿ¼
./configure \ #--------------------Ô¤±àÒëÃüÁî
"--prefix=/usr/local/apache" \ #--------------------°²×°Â·¾¶Îª“/usr/local/apache”
"--with-included-apr" \
"--enable-so" \ #--------------------¿ªÆôÏàÓ¦µÄÀ©Õ¹Ä£¿é ......