(1)检查数据包是否是一个已建立并正在使用的通信流的一部分。通过查看这种正在使用的合法连接表来判断数据包的特征是否满足表中连接的匹配要求。该连接表至少包括:源IP地址、目标IP地址、传输层的源/目端口号以及TCP序列号等。以此判别数据包是否属于一个正在使用的TCP连接对话。这与包过滤检查包的SYN位判断是否与TCP连接对话有很大区别。 (2)使用协议不同,对数据包的检查程度也不同。为避免攻击,对包含有数据包使用的协议,还要查看数据包的数据部分,以此内容决定是否转发该数据包。 (3)在检查过程中,若数据包和连接表的各项均不匹配,那么就要检测包与规则集是否匹配。SPI防火墙的规则集类似包过滤防火墙规则集。同样有源/目的IP地址、源/目端口及所使用的协议,因为包过滤规则集功能可扩展,故可对其内容进行检查。 (4)每个包经源/目IP地址、源/目端口及协议和数据内容的检测后,SPI防火墙就会把数据包转发到它的目的地址,并在其连接表中建立对话连接或更新一个连接项,该连接项可用来对返回的数据包进行校验。