WEB开发网
开发学院网络安全防火墙 iptables 源码分析 阅读

iptables 源码分析

 2007-03-07 12:42:27 来源:WEB开发网   
核心提示:一、规则的显示选择先来说明规则的显示,因为他涉及到的东东简单,iptables 源码分析,而且又全面,了解了规则的显示,则进行一个初始化操作,我们假设是采用共享库的,对于其它操作的了解就显得容易了,iptables version 1.2.7iptables有两条线:ipv4 和ipv6

一、规则的显示

选择先来说明规则的显示,因为他涉及到的东东简单,而且又全面,了解了规则的显示,对于其它操作的了解就显得容易了。

iptables version 1.2.7

iptables有两条线:ipv4 和ipv6,这里只分析v4的,因为v6偶暂时还用不着,没有去看。

iptables_standardone.c

主函数:

  int main(int argc, char *argv[])
  {
  int ret;
  char *table = "filter"; /*默认的表是filter*/
  iptc_handle_t handle = NULL;
  program_name = "iptables";
  program_version = IPTABLES_VERSION;
  #ifdef NO_SHARED_LIBS
  init_extensions();
  #endif
  /*进入命令行处理函数*/
  ret = do_command(argc, argv, &table, &handle);
  if (ret)
  ret = iptc_commit(&handle);
  if (!ret)
  fprintf(stderr, "iptables: %s
",
  iptc_strerror(errno));
  exit(!ret);
  }

table表示表的名称,就是iptables -t 后面跟的那个,默认是"filter"

iptc_handle_t handle = NULL; 这个东东很重要,现在初始化NULL,后面他被用来存储一个表的所有规则的快照。

program_name = "iptables";

program_version = IPTABLES_VERSION;

设置名称和版本。

#ifdef NO_SHARED_LIBS

init_extensions();

#endif

iptables很多东东,是用共享库*.so的形式(我们安装会,可以在诸如/lib/iptables下边看到),如果不采用共享库,则进行一个初始化操作。我们假设是采用共享库的,忽略它。

1 2 3 4 5 6  下一页

Tags:iptables 源码 分析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接