Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ :

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


ËÄ¡¢nf_hook_ops ¹³×ÓµÄ×¢²á
ÔÚfilter±íµÄ³õʼ»¯º¯Êýstatic int __init init(void)ÖгýÁËÓÐÒ»¸önf_register_hookº¯Êý×¢²áÒ»¸ötablesÍ⣬»¹ÓÉnf_register_hookº¯Êý×¢²áÁË3¸öhook
 
4.1        nf_hook_opsÊý¾Ý½á¹¹ netfilter.h
struct nf_hook_ops
{
        struct list_head list;                        //Á´±í³ÉÔ±
        /* User fills in from here down. */
        nf_hookfn *hook;                        //¹³×Óº¯ÊýÖ¸Õë
        struct module *owner;
        int pf;                                        //ЭÒé´Ø£¬¶ÔÓÚipv4¶øÑÔ£¬ÊÇPF_INET
        int hooknum;                  &n ......

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


Îå¡¢ ipt_do_table()º¯Êý£¬Êý¾Ý°üµÄ¹ýÂË
 
5.1          ipt_entry Ïà¹Ø½á¹¹  ip_tables.h
ipt_entry½á¹¹Ç°ÃæÓйýÁË£¬ÔÙ¿´Ò»±é
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ºÅ£¬¿ÉÓÃÓÚ¼ì²é¹æÔòµÄÓÐЧÐÔ */
struct ipt_counters counters;
/* ¼Ç¼¸Ã¹æÔò´¦Àí¹ýµÄ±¨ÎÄÊýºÍ±¨ÎÄ×Ü×Ö½ÚÊý */
unsigned char elems[0];
/*target»òÕßÊÇmatchµÄÆðʼλÖà */
}
 
ipt_ip½á¹¹  ip_tables.h
struct ipt_ip {
      struct in_addr src, dst;  &nb ......

LinuxÃüÁîÐÐϱ༭³£Óÿì½Ý¼ü


±¾ÎĽ²ÊöÁËLinuxÃüÁîÐб༭¿ì½Ý¼üµÄ·½·¨£¬Ï£Íû¶ÔÄúÓÐËù°ïÖú¡£
LinuxÃüÁîÐб༭¿ì½Ý¼ü£º
history ÏÔʾÃüÁîÀúÊ·Áбí
↑(Ctrl+p) ÏÔʾÉÏÒ»ÌõÃüÁî
↓(Ctrl+n) ÏÔʾÏÂÒ»ÌõÃüÁî
!num Ö´ÐÐÃüÁîÀúÊ·ÁбíµÄµÚnumÌõÃüÁî
!! Ö´ÐÐÉÏÒ»ÌõÃüÁî
!?string? Ö´Ðк¬ÓÐstring×Ö·û´®µÄ×îÐÂÃüÁî
Ctrl+r È»ºóÊäÈëÈô¸É×Ö·û£¬¿ªÊ¼ÏòÉÏËÑË÷°üº¬¸Ã×Ö·ûµÄÃüÁ¼ÌÐø°´Ctrl+r£¬ËÑË÷ÉÏÒ»ÌõÆ¥ÅäµÄÃüÁî
Ctrl+s ÓëCtrl+rÀàËÆ,Ö»ÊÇÕýÏò¼ìË÷
Alt+< ÀúÊ·ÁбíµÚÒ»Ïî
Alt+> ÀúÊ·Áбí×îºóÒ»Ïî
Ctrl+f ¹â±êÏòÇ°ÒÆ¶¯Ò»¸ö×Ö·û,Ï൱Óë->
Ctrl+b ¹â±êÏòºóÒÆ¶¯Ò»¸ö×Ö·û,Ï൱Óë<-
Alt+f ¹â±êÏòÇ°ÒÆ¶¯Ò»¸öµ¥´Ê
Alt+b ¹â±êÏòºóÒÆ¶¯Ò»¸öµ¥´Ê
ls !$ Ö´ÐÐÃüÁîls£¬²¢ÒÔÉÏÒ»ÌõÃüÁîµÄ²ÎÊýΪÆä²ÎÊý
Ctrl+a ÒÆ¶¯µ½µ±Ç°ÐеĿªÍ·
Ctrl+e ÒÆ¶¯µ½µ±Ç°ÐеĽáβ
Esc+b ÒÆ¶¯µ½µ±Ç°µ¥´ÊµÄ¿ªÍ·
Esc+f ÒÆ¶¯µ½µ±Ç°µ¥´ÊµÄ½áβ
Ctrl+l ÇåÆÁ
Ctrl+u ¼ôÇÐÃüÁîÐÐÖйâ±êËùÔÚ´¦Ö®Ç°µÄËùÓÐ×Ö·û£¨²»°üÀ¨×ÔÉí£©
Ctrl+k ¼ôÇÐÃüÁîÐÐÖйâ±êËùÔÚ´¦Ö®ºóµÄËùÓÐ×Ö·û£¨°üÀ¨×ÔÉí£©
Ctrl+d ɾ³ý¹â±êËùÔÚ´¦×Ö·û
Ctrl+h ɾ³ý¹â±êËùÔÚ´¦Ç°Ò»¸ö×Ö·û
Ctrl+y Õ³Ìù¸Õ²ÅËùɾ³ýµÄ×Ö·û
Ctrl+w ¼ôÇй ......

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

תÌù×Ô£ºhttp://alexanderlaw.blog.hexun.com/8968944_d.html
Áù¡¢ À©Õ¹µÄmatch
 
6.1 do_matchº¯Êý  ip_tables.c
do_matchͨ¹ýIPT_MATCH_ITERATEºêÀ´µ÷ÓÃ,
IPT_MATCH_ITERATEÊÇÔÚipt_do_tableº¯ÊýÖе÷Óõĺê
IPT_MATCH_ITERATE(e, do_match,
                                  *pskb, in, out,
                                  offset, &hotdrop)
¶¨ÒåÈçÏ£º
#define IPT_MATCH_ITERATE(e, fn, args...)      \
({                               \
      unsigned int __i; &n ......

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

תÌù×Ô£ºhttp://alexanderlaw.blog.hexun.com/8968960_d.html
Æß¡¢ target Æ¥Åä
7.1 ipt_targetºÍipt_entry_target½á¹¹      ip_tables.h
ipt_targetºÍipt_match½á¹¹ÀàËÆ£º
struct ipt_target
{
      struct list_head list;
 
      const char name[IPT_FUNCTION_MAXNAMELEN];
 
/* ÔÚʹÓñ¾MatchµÄ¹æÔò×¢Èë±íÖÐ֮ǰµ÷Ó㬽øÐÐÓÐЧÐÔ¼ì²é£¬Èç¹û·µ»Ø0£¬¹æÔò¾Í²»»á¼ÓÈëiptablesÖÐ */
      int (*checkentry)(const char *tablename,
                   const struct ipt_entry *e,
                   void *targinfo,
                   unsigned int targinfosize,
                ......

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="16"
height="16" src="//www.ibm.com/i/c.gif"/></td><td class="small"
width="122"><p><span class="ast">δÏÔʾÐèÒª JavaScript
µÄÎĵµÑ¡Ïî</span></p></td></tr>
´òÓ¡±¾Ò³
½«´ËÒ³×÷Ϊµç×ÓÓʼþ·¢ËÍ
¼¶±ð£º ³õ¼¶
Ö£ÑåÐË
(mlinux@163.com
)¹ú·À¿Æ´ó¼ÆËã»úѧԺ
2003 Äê 4 ÔÂ 07 ÈÕ
ÐźŵÆÓëÆäËû½ø³Ì¼äͨÐÅ·½Ê½²»´óÏàͬ£¬ËüÖ÷ÒªÌṩ¶Ô½ø³Ì¼ä¹²Ïí×ÊÔ´·ÃÎÊ¿ØÖÆ»úÖÆ¡£Ï൱ÓÚÄÚ´æÖеıêÖ¾£¬½ø³Ì¿ÉÒÔ¸ù¾ÝËüÅж¨ÊÇ·ñÄܹ»·ÃÎÊijЩ¹²Ïí×ÊÔ´£¬Í¬Ê±£¬½ø³ÌÒ²¿ÉÒÔÐ޸ĸñêÖ¾¡£³ýÁËÓÃÓÚ·ÃÎÊ¿ØÖÆÍ⣬»¹¿ÉÓÃÓÚ½ø³Ìͬ²½¡£
Ò»¡¢ÐźŵƸÅÊö
ÐźŵÆÓëÆäËû½ø³Ì¼äͨÐÅ·½Ê½²»´óÏàͬ£¬ËüÖ÷ÒªÌṩ¶Ô½ø³Ì¼ä¹²Ïí×ÊÔ´·ÃÎÊ¿ØÖÆ»úÖÆ¡£Ï൱ÓÚÄÚ´æÖеıêÖ¾£¬ ......
×ܼǼÊý:40319; ×ÜÒ³Êý:6720; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [4016] [4017] [4018] [4019] 4020 [4021] [4022] [4023] [4024] [4025]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ