Linux防火墙数据包捕获模块
2006-07-04 12:38:22 来源:WEB开发网unsigned short h_proto;/*16位的以太网协议*/
}
(3)iphdr结构体
这是Linux 的ip协议报头,针对版本的不同它可以有不同的定义,我们国内一般用BIG的定义,其中version 是ip的版本,protocol是ip的协议分类,saddr是32位的源ip地址,daddr是32位的目标ip地址。
(4)tcphdr结构体
这是Linux 下tcp协议的一部分,与ip协议相同取BIG,其中source是源端口,dest 是目的端口,seq是s序,ack_seq是a序号,其余的是tcp的连接标志其中包括6个标志:syn表示连接请求,urg 表示紧急信息,fin表示连接结束,ack表示连接应答,psh表示推栈标志,rst表示中断连接。window是表示接受数据窗口大小,check是校验码,urg ptr是紧急指针。
(5)udphdr结构体
这是Linux下ip协议中udp协议的一部分,以下是相应数据结构:
struct udphdr
{
u_int16_t source;/* 源端口*/
u_int16_t dest;/* 目的端口*/
u_int16_t len;/* udp 长度*/
u_int16_t check;/*校验码*/
}
本文设计的是一个基于Linux主机的包过滤型个人防火墙,它实现的功能和现今市场上流行的防火墙有巨大差距。随着技术的不断发展,防火墙也处于不断的变化之中。防火墙技术经历了包过滤、应用代理网关再到状态检测三个阶段。其中状态检测是比较先进的防火墙技术,它摒弃了包过滤防火墙仅考查数据包的 IP 地址等几个参数,而不关心数据包连接状态变化的缺点,在防火墙的核心部分建立状态连接表,并将进出网络的数据当成一个个的会话,利用状态表跟踪每一个会话状态。状态检测技术在大力提高安全防范能力的同时也改进了流量处理速度。状态监测技术采用了一系列优化技术,使防火墙性能大幅度提升,能应用在各类网络环境中,尤其是在一些规则复杂的大型网络上。深度包检测技术将为防火墙的发展提升到一个新的阶段。该技术对数据包头或有效载荷所封装的内容进行分析,从而引导、过滤和记录基于IP的应用程序和Web服务通信流量,其工作并不受协议种类和应用程序类型的限制。采用深度包检测技术,企业网络可以获得性能上的大幅度提升而无需购买昂贵的服务器或是其他安全产品。
更多精彩
赞助商链接