¡¾×ªÌûLINUX¡¿netfilterÖеÄconntrackÄÚºËÔĶÁ±Ê¼Ç(3)
2008-07-07 22:06
PREROUTING£ºip_conntrack_defrag à ip_conntrack_in
1£¬ip_conntrack_defrag:
ͨ³£µ±IP±¨Îı»ËÍÖÁL4²ã´¦Àíʱ£¬Èç¹û¸Ã±¨ÎÄÊÇ·ÖÆ¬±¨ÎÄ£¬ÄÇô±¨ÎľͻáÏȱ»±£´æÆðÀ´£¬Ö±µ½ËùÓÐ·ÖÆ¬µ½´ïºóÖØ×é³ÉÒ»¸öÍêÕû±¨Îĺó£¬ÔÙ±»·Ö·¢µ½L4²ã¡£µ±Ã»ÓÐÆô¶¯conntrackʱ£¬netfilter¸÷HOOKµã¶Ô±¨ÎIJÙ×÷ʱ£¬²¢²»¼ì²é¸Ã±¨ÎÄÊÇ·ñ·ÖƬ£»µ«ÊÇÈç¹ûÆô¶¯conntrack¹¦ÄÜ£¬Ôò±ØÐë±£Ö¤½øÈënetfilter HOOKµãµÄ±¨ÎÄÊÇÒ»¸öÍêÕûµÄ±¨ÎÄ£¬Òò´Ëip_conntrack_defragÒ»°ã´¦ÓÚ×îǰ¶ËµÄHOOK£¬¸ºÔð½«·ÖÆ¬±¨ÎÄÖØ×é¡£
/* Èô±¨ÎÄ·ÖÆ¬£¬Ôò µ÷ÓÃip_ct_gather_frags ×é×°±¨ÎÄ£¬Èç¹ûËùÓÐ·ÖÆ¬¾ùÒѵ½´ï£¬pskbÖ¸ÏòÐÂÉú³ÉµÄ±¨ÎÄ£¬¼ÌÐøÑØ×ÅHOOKÁ´½øÐÐÏÂÒ»²½´¦Àí£»·ñÔòΪ¿Õ£¬±¨Îı»»º´æµÈ´ýÏÂÒ»·ÖƬµ½À´*/
if ((*pskb)->nh.iph->frag_off & htons(IP_MF|IP_OFFSET)) {
*pskb = ip_ct_gather_frags(*pskb,
hooknum == NF_IP_PRE_ROUTING ?
IP_DEFRAG_CONNTRACK_IN :
IP_DEFRAG_CONNTRACK_OUT);
if (!*pskb)
return NF_STOLEN;
}
return NF_ACCEPT;
ip_ct_gather_fragsÖ±½Óµ÷ÓÃip_defrag´¦ÀíIP·ÖƬ±¨ÎÄ¡£¶ÔÓÚ·ÖÆ¬±¨ÎĵÄÖØ×éÖ÷ÒªÔÚip_fragment.cÖÐÍê³É¡£
3, resolve_normal_ct£º
resolve_normal_ctÔÚÈ«¾ÖÁ¬½Ó±íÖУ¬²éÕÒÓë¸Ã±¨ÎÄÏàÓ¦µÄÁ¬½Ó״̬£¬·µ»ØµÄÊÇip_conntrackµÄÖ¸Õ룬ÓÃÓÚÃèÊöºÍ¼Ç¼Á¬½ÓµÄ״̬£»Èô¸ÃÁ¬½ÓÉв»´æÔÚ£¬Ôò´´½¨ÏàÓ¦µÄ½á¹¹£¬²¢½øÐгõʼ»¯£¬ÉèÖÃÁ¬½Ó״̬¡£
/*1,½«Êý¾Ý°üµÄÄÚÈÝת»¯³ÉÏàÓ¦µÄtuple£¬¶ÔÓÚºÍÐÒéÏà¹ØµÄ²¿·Ö£¬Èç¶Ë¿Ú£¬Ôòµ÷ÓÃÏà¹ØÐÒéµÄ´¦Àíº¯Êýpkt_to_tuple*/
if (!ip_ct_get_tuple(skb->nh.iph, skb, skb->nh.iph->ihl*4,
Ïà¹ØÎĵµ£º
#find ... -exec rm {} \;
#find ... | xargs rm -rf
Á½Õß¶¼¿ÉÒÔ°ÑfindÃüÁî²éÕÒµ½µÄ½á¹ûɾ³ý£¬ÆäÇø±ð¼òµ¥µÄ˵ÊÇǰÕßÊǰÑfind·¢ÏֵĽá¹ûÒ»´ÎÐÔ´«¸øexecÑ¡ÏÕâÑùµ±ÎļþÊýÁ¿½Ï¶àµÄʱºò£¬¾Í¿ÉÄÜ»á³öÏÖ“²ÎÊýÌ«¶à”Ö®ÀàµÄ´íÎó£¬Ïà±È½Ï¶øÑÔ£¬ºóÕ߾ͿÉÒÔ±ÜÃâÕâ¸ö´íÎó£¬ÒòΪxargsÃüÁî»á·ÖÅú´ÎµÄ´¦Àí½á¹û¡£ÕâÑù¿´À´£ ......
UNIX/Linux ϵͳ´ÅÅÌ ¿Õ¼ä¼à¿Ø ×Ô¶¯»¯½Å±¾ ʾÀý
1. ·ÖÇø¼à¿Ø /root/disktab ÎļþʾÀý
2. checkdisk ½Å±¾³õʼ»¯²¿·Ö
3. checkdisk ½Å±¾·ÖÎö /root/disktab Îļþ²¿·Ö
4.ÖеĽű¾ÊµÏÖÁËʵʱ¼à¿Ø²¢¼ì²â·ÖÇø×´¿ö£¬Í¨¹ýÇ°Ãæ»ñµÃµÄÓû§¶¨ÒåµÄãÐÖµºÍ df ÃüÁîµÄÊä³ö½øÐбȽϣ¬Èç¹û df ÏÔʾµÄij¸ö·ÖÇøµÄ¿Õ¼äÕ¼Óó¬¹ýÁËÓû§¶¨ÒåµÄã ......
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 ......
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 ......
1
¡¢×ܽᱳ¾°
ÔÚ
linux
ϵͳÏ£¬Èç¹ûÄãÏÂÔØ²¢°²×°ÁËÓ¦ÓóÌÐò£¬ºÜÓпÉÄÜÔÚ¼üÈëËüµÄÃû³ÆÊ±³öÏÖ
“command not found”
µÄÌáʾÄÚÈÝ¡£Èç¹ûÿ´Î¶¼µ½°²×°Ä¿±êÎļþ¼ÐÄÚ£¬ÕÒµ½¿ÉÖ´ÐÐÎļþÀ´½øÐвÙ×÷¾ÍÌ«·±ËöÁË¡£ÕâÉæ¼°µ½»·¾³±äÁ¿
PATH
µÄÉèÖÃÎÊÌ⣬¶ø
PATH
µÄÉèÖÃÒ²ÊÇÔÚ
linux
϶¨ÖÆ»·¾³±äÁ¿µÄÒ»¸ö×é³É²¿·Ö¡£ ......