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

¡¾×ªÌû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Ïê½â

linux—selectÏê½â
selectϵͳµ÷ÓÃʱÓÃÀ´ÈÃÎÒÃǵijÌÐò¼àÊÓ¶à¸öÎļþ¾ä±úµÄ״̬±ä»¯µÄ¡£³ÌÐò»áÍ£ÔÚselectÕâÀïµÈ´ý£¬Ö±µ½±»¼àÊÓµÄÎļþ¾ä±úÓÐÒ»¸ö»ò¶à¸ö·¢ÉúÁË״̬¸Ä±ä¡£
¹ØÓÚÎļþ¾ä±ú£¬Æäʵ¾ÍÊÇÒ»¸öÕûÊý£¬Í¨¹ýsocketº¯ÊýµÄÉùÃ÷¾ÍÃ÷°×ÁË£º
int socket(int domain, int type, int protocol);
ÎÒÃÇ×îÊìϤµÄ¾ä±úÊÇ0¡¢1¡¢2 ......

linux¾ÈԮģʽ

ÐÞ¸Ä/etc/fstab, /etc/rc.d/rc.sysinitµÈϵͳÆô¶¯ÎļþʱÎó²Ù×÷¾Í»áÔì³ÉlinuxÎÞ·¨½øÈ룬ÓÐrescueÅÌ¿ÉÒÔÈÝÒ×ÐÞ¸´£¬Õâ¸ö·½·¨ÊʺÏÓÚûÓÐrescueÅÌʱÐÞ¸´ÏµÍ³¡£
grub²Ëµ¥ÖÐÑ¡Ôñlinux,°´e,e,½øÈë±à¼­Ä£Ê½£¬kernel (hd0,0)/vmlinuz root=/dev/hda2.....ÕâÒ»ÐÐ×îºó¼ÓÉÏinit=/bin/bash,Ð޸ĺúó°´enter,bÒýµ¼Ð޸ĺóµÄÒýµ¼ÐÅÏ¢ÀàËÆÈçÏ ......

ѧϰ linux kernelµÄ½¨Òé

ÊÇÒªÓм¸¸ö½×¶ÎµÄ¡£ ¿ªÊ¼¿´ulk,
ulk×îºÃµÄµØ·½¾ÍÊÇËûËù³«µ¼µÄѧϰ·½·¨ÌرðºÃ¡£µ±ÄãÏëѧϰij·½ÃæÊ±£¬ÏÈ¿´Í·Îļþ£¬ÔÚû°Ñÿ¸öÊý¾Ý½á¹¹ÖеÄÿ¸öÊý¾ÝÔªËØÅªÇå³þ֮ǰ²»Òª¿´ÊµÏÖ´úÂë¡£
¶ÁÍêÍ·Îļþ£¬Òâζ×ÅÆäÖеÄ×éÖ¯¹ØÏµ¸ú±ðµÄµØ·½µÄÁªÏµ¾ÍÇå³þÁË£¬ÕâʱºòÄãÈ¥¿´ÊµÏֵĴúÂëÄã»á·¢ÏÖËûÒѾ­×öµÄÕýÊÇÄãËùÏëµÄ¡£
¸ú×Åulk°ÑÕâЩ»ù±¾µ ......

linuxÎļþµÄȨÏÞÐÞ¸ÄchmodÓ÷¨

Ö¸ÁîÃû³Æ : chmod
ʹÓÃȨÏÞ : ËùÓÐʹÓÃÕß
ʹÓ÷½Ê½ : chmod [-cfvR] [--help] [--version] mode file...
˵Ã÷ : Linux/Unix µÄµµ°¸µ÷ÓÃȨÏÞ·ÖΪÈý¼¶ : µµ°¸ÓµÓÐÕß¡¢Èº×é¡¢ÆäËû¡£ÀûÓà chmod ¿ÉÒÔ½åÒÔ¿ØÖƵµ°¸ÈçºÎ±»ËûÈËËùµ÷Óá£
²ÎÊý :
mode : ȨÏÞÉ趨×Ö´®£¬¸ñʽÈçÏ : [ugoa...][[+-=][rwxX]...][,...]£¬ÆäÖÐ
......

Notes for Advanced Linux Programming 4. Threads

4.  Threads
To use the POSIX standard thread API (pthreads), link libpthread.so
to your program.
4.1. Thread Creation
Each thread in a process is identified by a thread ID,
pthread_t.
The pthread_self function returns the thread ID of the current
thread.
This thread IDs can be compared ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ