数据包过滤原理

  数据包过滤技术是防火墙最常用的技术。对于一个充满危险的网络,过滤路由器提供了一种方法,用这种方法可以阻塞某些主机和网络连入内部网络,也可以用它来限制内部人员对一些危险和色情站点的访问。
  数据包过滤技术,顾名思义是在网络中适当的位置对数据包实施有选择的通过,选择依据,即为系统内设置的过滤规则(通常称为访问控制表——Access Ccntrol List),只有满足过滤规则的数据包才被转发至相应的网络接口,其余数据包则被从数据流中删除。
  数据包过滤可以控制站点与站点、站点与网络和网络与网络之间的相互访问,但不能控制传输的数据内容,因为内容是应用层数据,不是包过滤系统所能辨认的,数据包过滤允许你在单个地方为整个网络提供特别的保护。
  包过滤检查模块深入到系统的网络层和数据链路层之间。因为数据链路层是事实上的网卡(NIC),网络层是第一层协议堆栈,所以防火墙位于软件层次的最底层,如下图所示。

图  包过滤模型

  通过检查模块,防火墙能拦截和检查所有出站的数据。防火墙检查模块首先验证这个包是否符合过滤规则,不管是否符合过滤规则,防火墙一般要记录数据包情况,不符合规则的包要进行报警或通知管理员。对丢弃的数据包,防火墙可以给发方一个消息,也可以不给,这要取决于包过滤策略。包检查模块能检查包中的所有信息,一般是网络层的IP头和传输层的头。包过滤一般要检查下面几项:

  IP源地址;
  IP目标地址;
  协议类型(TCP包、UDP包和ICMP包);
  TCP或UDP的源端口;
  TCP或UDP的目标端口;
  ICMP消息类型;
  TCP报头中的ACK位。
 

  包过滤在本地端接收数据包时,一般不保留上下文,只根据目前数据包的内容做决定。根据不同的防火墙的类型,包过滤可能在进入、输出时或这两个时刻都进行。可以拟定一个要接受的设备和服务的清单,一个不接受的设备和服务的清单,组成访问控制表。
      1 . 设置步骤
      配置包过滤有三步:
           (1)必须知道什么是应该和不应该被允许的,即必须制定一个安全策略。
           (2)必须正式规定允许的包类型、包字段的逻辑表达。
           (3)必须用防火墙支持的语法重写表达式。
     2. 按地址过滤
            下面是一个最简单的数据包过滤方式,它按照源地址进行过滤。比如说,认为网络202.110.8.0是一个危险的网络,那么就可以用源地址过滤禁止内部主机和该网络进行通信。下表是根据上面的政策所制定的规则。

规则方向  源地址目标地址动作
A内部网络202.110.8.0拒绝
B202.110.8.0内部网络拒绝

表:过滤规则示例      

  很容易看出这种方式没有利用全部信息,所以是不科学的,下面将要讲一种更为先进的过滤方式——按服务过滤。

     3. 按服务过滤
  假设安全策略是禁止外部主机访问内部的E-mail服务器(SMTP,端口25),允许内部主机访问外部主机,实现这种的过滤的访问控制规则类似下表。
  规则按从前到后的顺序匹配,字段中的“*”代表任意值,没有被过滤器规则明确允许的包将被拒绝。就是说,每一条规则集都跟随一条含蓄的规则,就像下表中的规则C。这与一般原则是一致的:没有明确允许的就被禁止。

规则 方向 动作 源地址 源端口 目的地址 目的端口 注释
A 进 拒绝 M * E-mail 25 不信任
B 出 允许 * * * * 允许联接
C 双向 拒绝 * * * * 缺省状态

任何一种协议都是建立在双方的基础上的,信息流也是双向的。规则总是成对出现的,而且在讲解规则时也是成对讲解的原因。

4.包过滤实例
  无疑按服务过滤的安全性要比单纯按地址过滤高。
  下面,将通过一个例子来讲解这种过滤方式。第一,假设处于一个类网络116.111.4.0,认为站点202.208.5.6上有黄色的BBS,所以希望阻止网络中的用户访问该点的BBS;再假设这个站点的BBS服务是通过Telnet方式提供的,那么需要阻止到那个站点的出站Telnet服务,对于Internet的其他站点,允许内部的网用户通过Telnet方式访问,但不允许其他站点以Telnet方式访问网络。第二,为了由发电子邮件,允许SMTP出站入站服务,邮件服务器是IP地址为116.111.4.1。第三,对于WWW服务,允许内部网用户访问Internet上任何网络和站点,但只允许一个公司的网络访问内部WWW服务器,内部WWW服务器的IP地址为116.111.4.5,因为你们是合作伙伴关系,那个公司的网络为98.120.7.0。

参考:http://www.elecfans.com/dianzichangshi/2009061669433.html

转载于:https://www.cnblogs.com/weiw/archive/2013/04/08/3007491.html

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CentOS7 的 tcpdump 可以抓到 iptables 过滤数据包原理是在网络数据包在网卡中的数据链路层传输时,tcpdump 会抓取到这些数据包,而 iptables 是在数据链路层之上的网络层进行过滤的。所以 tcpdump 抓取到的数据包可能已经被 iptables 过滤过。 ### 回答2: CentOS7的tcpdump可以抓取iptables过滤数据包。iptables是Linux系统上的一个防火墙工具,它通过在数据包传输路径上设置过滤规则来控制网络流量的流入和流出。当iptables防火墙过滤规则生效时,数据包将按照规则进行筛选,并可能被阻止或被允许通过。 tcpdump是一个用于网络流量分析的命令行工具,它可以截获网络接口上的数据包,并提供详细的数据包信息和流量分析功能。它通过监听指定的网络接口,将接收到的数据包进行解析和展示,可以捕获到经过网络接口传输的各种网络流量。 当iptables过滤规则生效时,数据包会根据规则进行过滤,不符合规则的数据包将被丢弃或阻止传输。然而,tcpdump是在网络接口上直接截取数据包的,而不受iptables的影响。因此,tcpdump可以捕获到经过iptables过滤数据包,并显示其详细信息。 tcpdump的原理是通过对指定网络接口的监听,将接收到的网络数据包逐一进行解析,并将解析后的数据包信息进行显示。这样一来,tcpdump就可以捕获到经过iptables过滤数据包,包括被阻止、被允许或被修改后的数据包。 通过tcpdump的使用,可以更加深入地了解iptables的过滤规则的生效情况,可以帮助我们进行网络流量的分析和故障排查。同时,我们也可以根据tcpdump捕获到的数据包信息,结合iptables过滤规则进行网络安全分析和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值