易截截图软件、单文件、免安装、纯绿色、仅160KB

linux内核netfilter的实现以及ipset

netfilter的实现机制基于四个层次的匹配,数据包在每个层次都要经过一个过滤链表,第一个层次就是hook,众所周知linux内核中一共拥有5个hooks,当然你也可以自己修改内核在任何地方添加hook;第二个层次就是每个hook下面的tables,每一个hook都过挂载零个或者若干个tables,数据包要一个一个经过这些tables;第三个层次就是rule,每个table下面拥有零个或者若干个rule,数据包要依次经过这些rules,只要有一个rule对数据包进行了裁决,那么将不再经过该hook的该table的对应rule的后面rules;第四个层次是matchs,和rules的遍历正好相反,数据包只有在对应rule下面的所有的matchs都匹配后才算匹配。
     在内核中,netfilter是由下面4个核心结构体支撑起来的:
struct xt_table_info
{
    unsigned int size;
    unsigned int number;
    unsigned int initial_entries;
    unsigned int hook_entry[NF_IP_NUMHOOKS];
    unsigned int underflow[NF_IP_NUMHOOKS];
    char *entries[NR_CPUS];
};
entries[cpu]指向了一个ipt_entry数组,该数组的内存组织形式是平坦的,通过ipt_entry的next_offset字段进行遍历:
struct ipt_entry
{
    struct ipt_ip ip;
    unsigned int nfcache;
    u_int16_t target_offset;
    u_int16_t next_offset;
    unsigned int comefrom;
    struct xt_counters counters;
    unsigned char elems[0];
};
elems指向了一块平坦内存模式的,包含了若干个matchs和一个target,target通过target_offset来定位,各个matchs正如上面所说,通过next_offset来进行遍历的:
struct xt_entry_match
{
    union {
        struct {
            u_int16_t match_size;
            char name[XT_FUNCTION_MAXNAMELEN-1];
            u_int8_t revision;
        } user;
        struct {
&nbs


相关文档:

Linux iptable文档

总览
用iptables -ADC 来指定链的规

,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......

Windows,Linux启动机制简介


前言
本文内容只集中在操作系统启动原理的讲解上,不涉及启动的技术细节,因为这些细节都可以通过网络或者相关代码了解。只有了解了启动原理,才能在分析和解决有关启动的问题时具有针对性,不会有无从下手的感觉。限于作者经验的原因,本文内容只涉及关于
Windows

Linux
系统的启动过程。
 
 
启动 ......

linux 下压缩、解压 打包命令

ZZ 自http://dev.firnow.com/course/6_system/linux/Linuxjs/200896/139627.html     
      .tar
  解包: tar xvf FileName.tar
  打包:tar cvf FileName.tar DirName
 
 (注:tar是打包,不是压缩!)
  --------------------------------------------- ......

linux include 路径


linux搜索路径:   如果用的shell是bash,则环境变量加载 
  1./etc/profile 
  2.用户home目录下面的.bash_profile 
  3.用户home目录下面的.bash_login  
gcc   -I<include目录> 
  POSIX系统也可以建立环境变量 
  ......

linux操作系统安装命令

1 红帽
rpm  -ivh 安装
         -e   删除
         -u  升级
         -q  查询
2 ubuntu
deb dpkg -i 安装
       &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号