Linux netfilterÔ´Âë·ÖÎö(3)
תÌù×Ô£ºhttp://alexanderlaw.blog.hexun.com/8968782_d.html
Èý¡¢ipt_table±íµÄ×¢²á
init£¨£©º¯Êý³õʼ»¯Ê±µ÷ÓÃÁËipt_register_tableº¯Êý½øÐбíµÄ×¢²á
3.1 ip_tables.c ±íµÄ×¢²á ipt_register_table
int ipt_register_table(struct ipt_table *table)
{
int ret;
struct ipt_table_info *newinfo;
static struct ipt_table_info bootstrap
= { 0, 0, 0, { 0 }, { 0 }, { } };
/*ºêMOD_INC_USE_COUNTÓÃÓÚÄ£¿é¼ÆÊýÆ÷ÀÛ¼Ó£¬Ö÷ÒªÊÇΪÁË·Àֹģ¿éÒ쳣ɾ³ý£¬¶ÔÓ¦µÄºêMOD_DEC_USE_COUNT¾ÍÊÇÀÛ¼õÁË*/
MOD_INC_USE_COUNT;
/*Ϊÿ¸öCPU·ÖÅ乿Ôò¿Õ¼ä*/
newinfo = vmalloc(sizeof(struct ipt_table_info)
+ SMP_ALIGN(table->table->size) * smp_num_cpus);
if (!newinfo) {
ret = -ENOMEM;
MOD_DEC_USE_COUNT;
return ret;
}
/*½«¹æÔòÏ±´µ½Ð±íÏîµÄµÚÒ»¸öcpu¿Õ¼äÀïÃæ*/
memcpy(newinfo->entries, table->table->entries, table->table->size);
/*translate_tableº¯Êý½«newinfo±íʾµÄtableµÄ¸÷¸ö¹æÔò½øÐб߽ç¼ì²é£¬È»ºó¶ÔÓÚnewinfoËùÖ¸µÄipt_talbe_info½á¹¹ÖеÄhook_entriesºÍunderflows¸³ÓèÕýÈ·µÄÖµ£¬×îºó½«±íÏîÏòÆäËûcpu¿½±´*/
ret = translate_table(table->name, table->valid_hooks,
&
Ïà¹ØÎĵµ£º
1.¿ÉÖ´ÐгÌÐò
os.system('pgrep %s > %s' % (process, output))
pidfile = open("output", 'r')
totalpid = len(pidfile.readlines())
pidfile.close()
if totalpid == 0 :
&nbs ......
xxxx.tar.gzÎļþʹÓÃtar´øzxvf²ÎÊý£¬¿ÉÒÔÒ»´Î½âѹ¿ª¡£XXXXΪÎļþÃû¡£ ÀýÈ磺
$tar zxvf xxxx.tar.gz
gzip -d
Óï ·¨£ºgzip [-acdfhlLnNqrtvV][-S <ѹËõ×Öβ×Ö·û´®>][-<ѹËõЧÂÊ>][--best/fast][Îļþ...] »ò gzip [-acdfhlLnNqrtvV][-S <ѹËõ×Öβ×Ö·û´®>][-<ѹËõЧÂÊ>][--best/fast][Ŀ¼]
²¹³äË ......
xmanager secureCRT½áºÏʹÓÃ
»·¾³£ºÔÚxpÖа²×°ÐéÄâ»úvmware £¬host-only·½Ê½ÐéÄâLinuxϵͳ¡£xpµÄipΪ192.168.0.1£¬ÐéÄâ»úLinuxΪ192.168.0.88
ÔÚxpÖа²×°xmanagerºÍsecureCRT £¬Ä¬ÈÏÇé¿öÏÂCRT²»ÄÜÏÔʾͼÐνçÃæ£¬Í¨¹ýÒÔÏÂÅäÖÿÉÒÔʵÏÖÔÚWindowsϵÄCRTÀïÏÔʾLinuxÖеÄoracleͼÐνçÃæ£º
ÒÔoracleÓû§µÇ½Linux£¬ÐÞ¸Ä.ba ......
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 ......