CN113391967B - 防火墙的包过滤测试方法及装置 - Google Patents

防火墙的包过滤测试方法及装置 Download PDF

Info

Publication number
CN113391967B
CN113391967B CN202110663933.9A CN202110663933A CN113391967B CN 113391967 B CN113391967 B CN 113391967B CN 202110663933 A CN202110663933 A CN 202110663933A CN 113391967 B CN113391967 B CN 113391967B
Authority
CN
China
Prior art keywords
packet filtering
firewall
list
command
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110663933.9A
Other languages
English (en)
Other versions
CN113391967A (zh
Inventor
陈永林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202110663933.9A priority Critical patent/CN113391967B/zh
Publication of CN113391967A publication Critical patent/CN113391967A/zh
Application granted granted Critical
Publication of CN113391967B publication Critical patent/CN113391967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及一种防火墙的包过滤测试方法、装置、电子设备及计算机可读介质。该方法包括:获取用于防火墙的包过滤策略列表;基于所述包过滤策略列表生成防火墙命令和三层转发命令;将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备;将所述包过滤策略列表写入测试设备;控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试。本公开涉及的防火墙的包过滤测试方法、装置、电子设备及计算机可读介质,能够直接基于现网数据生成理想的随机的包过滤策略、进而对现网中的大量随机的包过滤策略的匹配生效情况进行测试,可以直接一比一模拟测试现网的包过滤生效情况。

Description

防火墙的包过滤测试方法及装置
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种防火墙的包过滤测试方法、装置、电子设备及计算机可读介质。
背景技术
硬件防火墙在现网的使用中,最常用的就是包过滤功能,基于报文的五元组控制各种流量的阻断与放通,对于现网来说,上万条目的包过滤策略,每个都有不同的五元组形式,如单,多源ip,多端口的协议,而正是因为策略随机性太强,经常出现其中某些策略无法正常匹配,导致严重的网上问题。而上述情况传统方式的内部测试时,一般只能有规律的建立大量策略,只能遍历到大量策略的过滤功能,无法遍历到随机组合的策略的过滤功能。
现有的测试方法为通过脚本或excel表格之类循环下发大量的有一定规律的策略,如源ip递增,目的ip递减,再通过测试仪表构造相应流量,匹配这些策略去测试。该方案只能验证到匹配,大量策略的情况,而对于策略的各种随机组合,无法遍历到,如某条策略3个源ip,1个目的ip等等情况,对于现网的过滤策略来说,会存在大量的随机性,这类随机的包过滤策略目前未有有效的测试方法。
因此,需要一种新的防火墙的包过滤测试方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种防火墙的包过滤测试方法、装置、电子设备及计算机可读介质,能够直接基于现网数据生成理想的随机的包过滤策略、进而对现网中的大量随机的包过滤策略的匹配生效情况进行测试,可以直接一比一模拟测试现网的包过滤生效情况。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种防火墙的包过滤测试方法,该方法包括:获取用于防火墙的包过滤策略列表;基于所述包过滤策略列表生成防火墙命令和三层转发命令;将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备;将所述包过滤策略列表写入测试设备;控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试。
在本公开的一种示例性实施例中,还包括:根据包过滤策略定时生成格式化列表形式的所述包过滤策略列表。
在本公开的一种示例性实施例中,根据包过滤策略定时生成格式化列表形式的所述包过滤策略列表,包括:通过python语言的MySQLdb模块和特定的数据库操作命令定时获取数据库中防火墙设备的包过滤策略;将所述包过滤策略格式化为列表形式的包过滤策略列表。
在本公开的一种示例性实施例中,还包括:基于所述防火墙设备在测试中策略命中计数,生成随机包过滤策略测试结果。
在本公开的一种示例性实施例中,基于所述包过滤策略列表生成防火墙命令和三层转发命令,包括:以所述包过滤策略列表的每行作为读取单位,逐一读取所述包过滤策略列表中每行数据;基于所述包过滤策略列表中每行数据生成所述生成防火墙命令和三层转发命令。
在本公开的一种示例性实施例中,基于所述包过滤策略列表中每行数据生成所述生成防火墙命令和三层转发命令,包括:解析所述包过滤策略列表中的每行数据生成防火墙命令;根据所述包过滤策略列表中的绑定关系生成对应的配置关系;将所述配置关系解析以生成所述三层转发命令;将所述防火墙命令写入待进行测试的防火墙设备。
在本公开的一种示例性实施例中,将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备,包括:通过python telnet设备命令将所述防火墙命令和所述三层转发命令下发到待进行测试的防火墙设备。
在本公开的一种示例性实施例中,将所述包过滤策略列表写入测试设备,包括:以所述包过滤策略列表的每行作为读取单位,逐一读取所述包过滤策略列表中每行数据;通过robotframework自动化测试框架获取所述包过滤策略列表中每行数据并写入所述测试设备。
在本公开的一种示例性实施例中,控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试,包括:基于所述测试设备的库文件建流函数建立所述包过滤策略列表对应的流量数据;将所述流量数据发送至所述防火墙设备;所述防火墙设备基于防火墙命令和三层转发命令对所述流量数据进行处理。
根据本公开的一方面,提出一种防火墙的包过滤测试装置,该装置包括:列表模块,用于获取用于防火墙的包过滤策略列表;命令模块,用于基于所述包过滤策略列表生成防火墙命令和三层转发命令;下发模块,用于将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备;写入模块,用于将所述包过滤策略列表写入测试设备;测试模块,用于控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试。
在本公开的一种示例性实施例中,还包括:定时模块,用于根据包过滤策略定时生成格式化列表形式的所述包过滤策略列表。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的防火墙的包过滤测试方法、装置、电子设备及计算机可读介质,获取用于防火墙的包过滤策略列表;基于所述包过滤策略列表生成防火墙命令和三层转发命令;将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备;将所述包过滤策略列表写入测试设备;控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试的方式,能够直接基于现网数据生成理想的随机的包过滤策略、进而对现网中的大量随机的包过滤策略的匹配生效情况进行测试,可以直接一比一模拟测试现网的包过滤生效情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种防火墙的包过滤测试方法及装置的系统框图。
图2是根据一示例性实施例示出的一种防火墙的包过滤测试方法的流程图。
图3是根据另一示例性实施例示出的一种防火墙的包过滤测试方法的流程图。
图4是根据另一示例性实施例示出的一种防火墙的包过滤测试方法的流程图。
图5是根据一示例性实施例示出的一种防火墙的包过滤测试装置的框图。
图6是根据一示例性实施例示出的一种电子设备的框图。
图7是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/ 步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
图1是根据一示例性实施例示出的一种防火墙的包过滤测试方法及装置的系统框图。
如图1所示,系统架构10可以包括数据库101、测试设备102、防火墙 103。还可包括网络设备,网络设备用以在数据库101、测试设备102、防火墙103之间提供通信链路的介质。网络设备可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可通过数据库101配置包过滤策略,在日常应用场景中,数据库101 可将包过滤策略下发到防火墙中。测试设备102可基于脚本或excel表格构造流量数据,并将流量数据发送至防火墙103中,防火墙103匹配预存的包过滤策略对上述流量数据进行过滤。
测试设备102可例如由数据库101获取用于防火墙103的包过滤策略列表;测试设备102可例如基于所述包过滤策略列表生成防火墙命令和三层转发命令;测试设备102可例如将所述防火墙命令和三层转发命令下发到待进行测试的防火墙103;测试设备102可例如将所述包过滤策略列表写入;测试设备102可例如按照所述包过滤策略列表生成流量数据并发送至所述防火墙103以对所述防火墙103进行测试。
图2是根据一示例性实施例示出的一种防火墙的包过滤测试方法的流程图。防火墙的包过滤测试方法20至少包括步骤S202至S210。
如图2所示,在S202中,获取用于防火墙的包过滤策略列表。
在一个实施例中,获取用于防火墙的包过滤策略列表之前,还包括:根据包过滤策略定时生成格式化列表形式的所述包过滤策略列表。
更具体的,可根据包过滤策略定时生成格式化列表形式的所述包过滤策略列表,包括:通过python语言的MySQLdb模块和特定的数据库操作命令定时获取数据库中防火墙设备的包过滤策略;将所述包过滤策略格式化为列表形式的包过滤策略列表。
通过python的MySQLdb模块,可以实现对数据库的操作,在本公开的实施例中,通过python语言的MySQLdb模块结合数据库的增删改查相关命令,定时查询用户设置的包过滤策略(包括关联的地址对象之类的数据),并将包过滤策略格式化为列表list-data,每一条包过滤数据则为一个数据单元,查询周期可以由用户自定义设置,如每天更新一次,或者每小时更新一次。
值得一提的是,在本申请中,每次通过数据库数据下发配置时默认为覆盖方式,即已存在的包过滤策略也会再添加一次(设备检测已存在,不影响整体方案),如果需要每次追加新增的数据,则需要判断第二次的数据是否在第一次的数据n中,以上两种方式均可实现同样目的,不再赘述。
在S204中,基于所述包过滤策略列表生成防火墙命令和三层转发命令。包括:以所述包过滤策略列表的每行作为读取单位,逐一读取所述包过滤策略列表中每行数据;基于所述包过滤策略列表中每行数据生成所述生成防火墙命令和三层转发命令。
其中,基于所述包过滤策略列表中每行数据生成所述生成防火墙命令和三层转发命令,包括:解析所述包过滤策略列表中的每行数据生成防火墙命令;根据所述包过滤策略列表中的绑定关系生成对应的配置关系;将所述配置关系解析以生成所述三层转发命令。
在S206中,将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备。包括:通过python telnet设备命令将所述防火墙命令和所述三层转发命令下发到待进行测试的防火墙设备。
在一个实施例中,通过python的telnetlib库可telnet到防火墙设备,依次刷入上文中的防火墙命令,则可导入所有的包过滤规则。
在一个实施例中,通过python telnet设备命令行刷入命令,以下发基本三层转发命令到防火墙中。
值得一提的是,由于包过滤表格是定时更新的,下发到防火墙设备的包过滤数据也会随之更新,这个方式可保证防火墙设备中的包过滤策略和现网数据同步,增加测试的同步性和准确性。
在S208中,将所述包过滤策略列表写入测试设备。包括:以所述包过滤策略列表的每行作为读取单位,逐一读取所述包过滤策略列表中每行数据;通过robotframework自动化测试框架获取所述包过滤策略列表中每行数据并写入所述测试设备。将格式化后的数据,以list-data每行作为循环单元,读取数据内容,通过robotframework自动化测试框架获取数据并保存于新的列表,每条数据只获取其中的源,目的地址,协议等字段。
在S210中,控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试。
在一个实施例中,可例如,基于所述测试设备的库文件建流函数建立所述包过滤策略列表对应的流量数据;将所述流量数据发送至所述防火墙设备;所述防火墙设备基于防火墙命令和三层转发命令对所述流量数据进行处理。通过调用连接testceter测试仪的库文件建流函数,分别一比一建立所有规则的对应流量。
基于包过滤策略的定时更新原则,测试仪的流量条数也会随之更新,以实时匹配所有的现网包过滤策略。
在一个实施例中,还包括:基于所述防火墙设备在测试中策略命中计数,生成随机包过滤策略测试结果。可通过robotframework调用测试设备开始打流,此时防火墙可以同时匹配所有的包过滤策略,且通过获取每个策略的命中计数,测试是否所有的策略都正常命中,以及收发包数是否相等,没有命中计数,或收发包不等的流量,获取对应策略,通过python的open()方法,保存入fail文件,以便管理人员查看。
根据本公开的防火墙的包过滤测试方法,获取用于防火墙的包过滤策略列表;基于所述包过滤策略列表生成防火墙命令和三层转发命令;将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备;将所述包过滤策略列表写入测试设备;控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试的方式,能够直接基于现网数据生成理想的随机的包过滤策略、进而对现网中的大量随机的包过滤策略的匹配生效情况进行测试,可以直接一比一模拟测试现网的包过滤生效情况。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种防火墙的包过滤测试方法的流程图。图3所示的流程30是对图2所示的流程中S204“基于所述包过滤策略列表生成防火墙命令和三层转发命令”的详细描述。
如图3所示,在S302中,以所述包过滤策略列表的每行作为读取单位,逐一读取所述包过滤策略列表中每行数据。将格式化后的数据,以list-data 每行作为循环单元,读取数据内容。
在S304中,解析所述包过滤策略列表中的每行数据生成防火墙命令。结合防火墙设备的命令行格式,将每条数据,翻译为防火墙的对应命令,写入一个新的列表list-cmd,如第一条包过滤数据为全通规则,则list-cmd中第一条数据的大致内容为添加一条全通规则的防火墙命令。
在S306中,解析所述包过滤策略列表中的每行数据生成三层转发命令。更具体的,可根据所述包过滤策略列表中的绑定关系生成对应的配置关系;将所述配置关系解析以生成所述三层转发命令。将格式化后的数据,以 list-data每行作为循环单元,读取数据内容,根据安全域与源,目的地址的绑定关系,新增相应安全域,转发接口和路由配置解析为三层转发命令。
在S308中,通过pythontelnet设备命令将所述防火墙命令和所述三层转发命令下发到待进行测试的防火墙设备。
图4是根据另一示例性实施例示出的一种防火墙的包过滤测试方法的流程图。图4所示的流程40是对图2所示的流程中S102“”的详细描述。
如图4所示,在S402中,获取包过滤列表。通过python的MySQLdb 模块,可以实现对数据库的操作,这里通过该方式,结合数据库的增删改查相关命令,定时查询设备的包过滤数据(包括关联的地址对象之类的数据) 并格式化为列表list-data,每一条包过滤数据则为一个数据单元,查询周期可以设置,如每天更新一次,或者每小时更新一次。
在S404中,写入防火墙设备。将格式化后的数据,以list-data每行作为循环单元,读取数据内容,同时结合防火墙设备的命令行格式,将每条数据,翻译为防火墙的对应命令,写入一个新的列表list-cmd,如第一条包过滤数据为全通规则,则list-cmd中第一条数据的大致内容为添加一条全通规则的防火墙命令。通过python的telnetlib库可telnet到防火墙设备,依次刷入上述命令。
将格式化后的数据,以list-data每行作为循环单元,读取数据内容,根据安全域与源,目的地址的绑定关系,新增相应安全域,转发接口和路由配置,翻译为防火墙的对应命令后,通过python telnet设备命令行刷入命令,下发基本三层转发命令。
在S406中,写入测试设备。将格式化后的数据,以list-data每行作为循环单元,读取数据内容,通过robotframework自动化测试框架获取数据并保存于新的列表,每条数据只获取其中的源,目的地址,协议等字段,通过调用连接testceter测试仪的库文件建流函数,分别一比一建立所有规则的对应流量。
在S408中,进行测试设备基础配置以生成数据流量。
在S410中,防火墙中是否有计数;
在S412中,保存到预设文件以便后续处理。获取每个策略的命中计数,测试是否所有的策略都正常命中,以及收发包数是否相等,没有命中计数,或收发包不等的流量,获取对应策略,通过python的open方法,保存fail 文件,等待管理人员进行处理。
本方案可以对现网中的大量随机的包过滤策略的匹配生效情况进行测试,可以直接一比一模拟测试现网的包过滤生效情况。
值得一提的是,对于随机包过滤策略的测试,可以通过测试人员自己写循环脚本获取随机策略,可以接近本方案的目的,但是建立在循环上的随机,本身仍具有规律性,对于现网使用来说,效果最优的仍然是本方案中的直接获取现网的策略数据。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由 CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图5是根据一示例性实施例示出的一种防火墙的包过滤测试装置的框图。如图5所示,防火墙的包过滤测试装置50包括:列表模块502,命令模块504,下发模块506,写入模块508,测试模块510。
列表模块502用于获取用于防火墙的包过滤策略列表;列表模块502还用于通过python语言的MySQLdb模块和特定的数据库操作命令定时获取数据库中防火墙设备的包过滤策略;将所述包过滤策略格式化为列表形式的包过滤策略列表。
命令模块504用于基于所述包过滤策略列表生成防火墙命令和三层转发命令;命令模块504还用于以所述包过滤策略列表的每行作为读取单位,逐一读取所述包过滤策略列表中每行数据;基于所述包过滤策略列表中每行数据生成所述生成防火墙命令和三层转发命令。
下发模块506用于将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备;下发模块506还用于通过python telnet设备命令将所述防火墙命令和所述三层转发命令下发到待进行测试的防火墙设备。
写入模块508用于将所述包过滤策略列表写入测试设备;写入模块508 还用于以所述包过滤策略列表的每行作为读取单位,逐一读取所述包过滤策略列表中每行数据;
通过robotframework自动化测试框架获取所述包过滤策略列表中每行数据并写入所述测试设备。
测试模块510用于控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试。测试模块510 还用于基于所述测试设备的库文件建流函数建立所述包过滤策略列表对应的流量数据;将所述流量数据发送至所述防火墙设备;所述防火墙设备基于防火墙命令和三层转发命令对所述流量数据进行处理。
定时模块512用于根据包过滤策略定时生成格式化列表形式的所述包过滤策略列表。
根据本公开的防火墙的包过滤测试装置,获取用于防火墙的包过滤策略列表;基于所述包过滤策略列表生成防火墙命令和三层转发命令;将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备;将所述包过滤策略列表写入测试设备;控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试的方式,能够直接基于现网数据生成理想的随机的包过滤策略、进而对现网中的大量随机的包过滤策略的匹配生效情况进行测试,可以直接一比一模拟测试现网的包过滤生效情况。
图6是根据一示例性实施例示出的一种电子设备的框图。
下面参照图6来描述根据本公开的这种实施方式的电子设备600。图6 显示的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600 的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图2,图3,图 4中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备600’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备600交互的设备通信,和/或该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650 进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络 (例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、 RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图7所示,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是 CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、 C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN) 或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备 (例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取用于防火墙的包过滤策略列表;基于所述包过滤策略列表生成防火墙命令和三层转发命令;将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备;将所述包过滤策略列表写入测试设备;控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (9)

1.一种防火墙的包过滤测试方法,其特征在于,包括:
获取用于防火墙的包过滤策略列表;
基于所述包过滤策略列表生成防火墙命令和三层转发命令,包括:以所述包过滤策略列表的每行作为读取单位,逐一读取所述包过滤策略列表中每行数据,解析所述包过滤策略列表中的每行数据生成防火墙命令,根据所述包过滤策略列表中的绑定关系生成对应的配置关系,以及将所述配置关系解析以生成所述三层转发命令;
将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备;
将所述包过滤策略列表写入测试设备;
控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试。
2.如权利要求1所述的方法,其特征在于,还包括:
根据包过滤策略定时生成格式化列表形式的所述包过滤策略列表。
3.如权利要求2所述的方法,其特征在于,根据包过滤策略定时生成格式化列表形式的所述包过滤策略列表,包括:
通过python语言的MySQLdb模块和特定的数据库操作命令定时获取数据库中防火墙设备的包过滤策略;
将所述包过滤策略格式化为列表形式的包过滤策略列表。
4.如权利要求1所述的方法,其特征在于,还包括:
基于所述防火墙设备在测试中策略命中计数,生成随机包过滤策略测试结果。
5.如权利要求1所述的方法,其特征在于,将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备,包括:
通过python telnet设备命令将所述防火墙命令和所述三层转发命令下发到待进行测试的防火墙设备。
6.如权利要求1所述的方法,其特征在于,将所述包过滤策略列表写入测试设备,包括:
以所述包过滤策略列表的每行作为读取单位,逐一读取所述包过滤策略列表中每行数据;
通过robotframework自动化测试框架获取所述包过滤策略列表中每行数据并写入所述测试设备。
7.如权利要求1所述的方法,其特征在于,控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试,包括:
基于所述测试设备的库文件建流函数建立所述包过滤策略列表对应的流量数据;
将所述流量数据发送至所述防火墙设备;
所述防火墙设备基于防火墙命令和三层转发命令对所述流量数据进行处理。
8.一种防火墙的包过滤测试装置,其特征在于,包括:
列表模块,用于获取用于防火墙的包过滤策略列表;
命令模块,用于基于所述包过滤策略列表生成防火墙命令和三层转发命令,包括:以所述包过滤策略列表的每行作为读取单位,逐一读取所述包过滤策略列表中每行数据,解析所述包过滤策略列表中的每行数据生成防火墙命令,根据所述包过滤策略列表中的绑定关系生成对应的配置关系,以及将所述配置关系解析以生成所述三层转发命令;
下发模块,用于将所述防火墙命令和三层转发命令下发到待进行测试的防火墙设备;
写入模块,用于将所述包过滤策略列表写入测试设备;
测试模块,用于控制所述测试设备按照所述包过滤策略列表生成流量数据并发送至所述防火墙设备以对所述防火墙设备进行测试。
9.如权利要求8所述的装置,其特征在于,还包括:
定时模块,用于根据包过滤策略定时生成格式化列表形式的所述包过滤策略列表。
CN202110663933.9A 2021-06-16 2021-06-16 防火墙的包过滤测试方法及装置 Active CN113391967B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110663933.9A CN113391967B (zh) 2021-06-16 2021-06-16 防火墙的包过滤测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110663933.9A CN113391967B (zh) 2021-06-16 2021-06-16 防火墙的包过滤测试方法及装置

Publications (2)

Publication Number Publication Date
CN113391967A CN113391967A (zh) 2021-09-14
CN113391967B true CN113391967B (zh) 2023-02-07

Family

ID=77621228

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110663933.9A Active CN113391967B (zh) 2021-06-16 2021-06-16 防火墙的包过滤测试方法及装置

Country Status (1)

Country Link
CN (1) CN113391967B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114143079B (zh) * 2021-11-29 2023-04-25 杭州迪普科技股份有限公司 包过滤策略的验证装置及方法
CN114553750B (zh) * 2022-02-24 2023-09-22 杭州迪普科技股份有限公司 基于网络配置协议的自动化测试方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801821A (zh) * 2006-01-17 2006-07-12 北京邮电大学 一种在移动环境下穿越防火墙的方法
CN101883023A (zh) * 2010-06-05 2010-11-10 中国海洋大学 防火墙压力测试方法
CN111464552A (zh) * 2020-04-11 2020-07-28 北京天地和兴科技有限公司 一种基于包过滤规则的防火墙自动化测试系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009475A (en) * 1996-12-23 1999-12-28 International Business Machines Corporation Filter rule validation and administration for firewalls
US7421734B2 (en) * 2003-10-03 2008-09-02 Verizon Services Corp. Network firewall test methods and apparatus
CN105245393B (zh) * 2014-06-30 2018-11-02 中国移动通信集团公司 一种防火墙性能测试方法及装置
CN105306307B (zh) * 2015-11-13 2018-09-25 浪潮电子信息产业股份有限公司 一种针对包过滤设备大容量规则表的自动化测试方法
CN111147449A (zh) * 2019-12-09 2020-05-12 杭州迪普科技股份有限公司 一种包过滤策略的测试方法、装置、系统及设备、介质
CN112398857B (zh) * 2020-11-17 2023-07-25 腾讯科技(深圳)有限公司 防火墙测试方法、装置、计算机设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801821A (zh) * 2006-01-17 2006-07-12 北京邮电大学 一种在移动环境下穿越防火墙的方法
CN101883023A (zh) * 2010-06-05 2010-11-10 中国海洋大学 防火墙压力测试方法
CN111464552A (zh) * 2020-04-11 2020-07-28 北京天地和兴科技有限公司 一种基于包过滤规则的防火墙自动化测试系统

Also Published As

Publication number Publication date
CN113391967A (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
US11036867B2 (en) Advanced rule analyzer to identify similarities in security rules, deduplicate rules, and generate new rules
CN113391967B (zh) 防火墙的包过滤测试方法及装置
US11182451B2 (en) Automated generation of web API descriptions from usage data
US20160277357A1 (en) Firewall testing
CN113923057B (zh) 卫星测运控平台的数据处理方法、装置、电子设备及介质
CN107168847A (zh) 一种支撑分布式架构的全链路应用监控方法与装置
CN113179194B (zh) Opc协议网关的测试系统及方法
CN107153599B (zh) 一种记录以及回放用户操作的方法及设备
CN106371993B (zh) 基于数据包的测试方法和测试装置
CN108139964A (zh) 云服务配置方法、装置、存储介质及云服务系统
CN105099916A (zh) 开放流路由交换设备及其对数据报文的处理方法
US7953886B2 (en) Method and system of receiving and translating CLI command data within a routing system
CN112350833A (zh) 流量过滤方法及装置
CN104298675A (zh) 用于缓存管理的方法和装置
CN110278272B (zh) 模拟Socket请求的通用方法
CN114489594A (zh) 一种命令解析器的构建方法、命令解析处理方法及装置
WO2024017271A1 (zh) 内容空间的分享方法、装置、电子设备及存储介质
CN114143079B (zh) 包过滤策略的验证装置及方法
US20140283080A1 (en) Identifying stored vulnerabilities in a web service
CN112416713A (zh) 操作审计系统及方法、计算机可读存储介质、电子设备
CN116939669B (zh) 基于ip学习表的网元识别方法、系统、设备及可读介质
CN111917611B (zh) 半透明代理服务器的测试方法、装置及系统
Augustsson A framework for evaluating regression test selection techniques in industry
CN114006838B (zh) 流控设备的测试方法及系统
CN114363257B (zh) 隧道报文的五元组匹配方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant