CN111917611B - 半透明代理服务器的测试方法、装置及系统 - Google Patents
半透明代理服务器的测试方法、装置及系统 Download PDFInfo
- Publication number
- CN111917611B CN111917611B CN202010842030.2A CN202010842030A CN111917611B CN 111917611 B CN111917611 B CN 111917611B CN 202010842030 A CN202010842030 A CN 202010842030A CN 111917611 B CN111917611 B CN 111917611B
- Authority
- CN
- China
- Prior art keywords
- destination
- proxy server
- semitransparent
- test
- ips
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种半透明代理服务器的测试方法、装置、系统、电子设备及计算机可读介质。该方法包括:获取半透明代理服务器和测试仪表之间的多个数据包;基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常。本公开涉及的半透明代理服务器的测试方法、装置、系统、电子设备及计算机可读介质,能够基于简单测试环境同时对多种应用层流量进行半透明代理服务器功能验证,验证速度快,验证结果准确率高。
Description
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种半透明代理服务器的测试方法、装置、系统、电子设备及计算机可读介质。
背景技术
假设A为内部网络客户机,B为外部网络服务器,C为防火墙(可实现半透明代理功能)。当A对B有TCP连接请求时,A和半透明代理服务器C之间首先建立TCP连接,然后半透明代理服务器C再与目标B建立TCP连接,由此通过半透明代理服务器服务器C建立了A和B的TCP数据传输通道。同时半透明代理服务器服务器C端修改从A端发送出来报文的源IP地址为C端服务器的IP地址,即在C端对A端发送的报文做源NAT修改为C端的IP地址后,再发送给B端。目前把这种做了源NAT的TCP代理称为TCP半透明代理服务器。
半透明代理服务器的测试需要很高的测试环境,由于业务不同,所需要的应用服务不同,所以可能需要搭建多个服务器,多种服务各自进行验证,对测试人员的动手能力、以及测试环境要求较高,并且耗时耗力。
因此,需要一种新的半透明代理服务器的测试方法、装置、系统、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种半透明代理服务器的测试方法、装置、系统、电子设备及计算机可读介质,能够基于简单测试环境同时对多种应用层流量进行半透明代理服务器功能验证,验证速度快,验证结果准确率高。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种半透明代理服务器的测试方法,该方法包括:获取半透明代理服务器和测试仪表之间的多个数据包;基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常。
在本公开的一种示例性实施例中,获取半透明代理服务器和测试仪表之间的多个数据包,包括:控制所述测试仪表发起多个TCP业务流量;接收由所述半透明代理服务器输出的多个请求流量;基于所述请求流量提取半透明代理服务器和测试仪表之间的多个数据包。
在本公开的一种示例性实施例中,控制所述测试仪表发起多个TCP业务流量,包括:控制所述测试仪表发起带有预设负载的多个应用层混合流量;所述应用层混合流量包括:HTTP应用层流量、FTP应用层流量、SMTP应用层流量。
在本公开的一种示例性实施例中,接收由所述半透明代理服务器输出的多个请求流量,还包括:基于相同的目的IP地址来确定所述测试仪表和所述半透明代理服务器之间的同一条请求流量。
在本公开的一种示例性实施例中,基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号,包括:由所述多个数据包中提取出报文IP长度为预设字节的预设报文;基于所述预设报文提取所述多个目的IP、所述多个目的端口、所述多个标识、所述多个序列号。
在本公开的一种示例性实施例中,基于所述预设报文提取所述多个目的IP、所述多个目的端口、所述多个标识、所述多个序列号,包括:将所述预设报文存储为pcap文件;基于python脚本文件对pcap文件进行解析,以提取所述多个目的IP、所述多个目的端口、所述多个标识、所述多个序列号。
在本公开的一种示例性实施例中,基于python脚本文件对pcap文件进行解析,以提取所述多个目的IP、所述多个目的端口、所述多个标识、所述多个序列号,包括:通过python脚本文件中的Scapy库对pcap文件进行解析;通过python脚本文件中的rdpcap读取pcap文件;通过python脚本文件中的payload提取述多个目的IP、所述多个目的端口、所述多个标识、所述多个序列号。
在本公开的一种示例性实施例中,将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行循环比较,生成多个比较结果,包括:将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行比较,在比较结果相同时,继续比较所述测试仪表与所述半透明代理服务器标识和序列号,以生成比较结果。
根据本公开的一方面,提出一种半透明代理服务器的测试装置,该装置包括:数据模块,用于获取半透明代理服务器和测试仪表之间的多个数据包;提取模块,用于基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;比较模块,用于将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;判断模块,用于在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常。
根据本公开的一方面,提出一种半透明代理服务器的测试系统,该系统包括:测试仪表,用于多个TCP业务流量;被测设备,用于实现基于包过滤策略的半透明代理服务器功能;服务器,用于获取半透明代理服务器和测试仪表之间的多个数据包;基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常。
在本公开的一种示例性实施例中,所述测试仪表,还用于发起带有预设负载的多个应用层混合流量;所述应用层混合流量包括:HTTP应用层流量、FTP应用层流量、SMTP应用层流量。
在本公开的一种示例性实施例中,其特征在于,所述被测设备,还用于接收所述多个TCP业务流量,并修改所述TCP业务流量中报文的源IP地址,输出多个请求流量。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的半透明代理服务器的测试方法、装置、系统、电子设备及计算机可读介质,基于半透明代理服务器和测试仪表之间的多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常的方式,能够基于简单测试环境同时对多种应用层流量进行半透明代理服务器功能验证,验证速度快,验证结果准确率高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种半透明代理服务器的测试系统的框图。
图2是根据一示例性实施例示出的一种半透明代理服务器的测试方法的流程图。
图3是根据另一示例性实施例示出的一种半透明代理服务器的测试方法的流程图。
图4是根据另一示例性实施例示出的一种半透明代理服务器的测试方法的流程图。
图5是根据另一示例性实施例示出的一种半透明代理服务器的测试方法的流程图。
图6是根据一示例性实施例示出的一种半透明代理服务器的测试装置的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
图8是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
当前基于包过滤的半透明代理功能测试中TCP业务流量访问成功,当报文经过防火墙设备半透明代理模块处理后,客户端发出的报文,服务器端收到后,在服务器端查看此报文,报文源IP转换为设备的出接口IP地址,并且IP层的Identification和TCP层的sequence发生了改变。源IP地址比较容易进行比较,但是由于报文IP层的Identificaton字段是报文的标识字段,加上TCP层序列号的改变,对于客户端和服务器端同时进行抓包情况下,客户端发出的某个报文,在服务器端确认对应的此报文,当前测试方法如下:
人工测试,搭建测试环境后,发起某种TCP应用流量的业务访问,在客户端和服务器端同时进行抓包,业务访问成功后,比较报文,但是由于网络环境中不可避免的存在网络杂包、报文重传、报文乱序等现象,并且报文Identification和sequence作为关键字段发生了改变,对于客户端发送的某应用流量的一个报文,测试人员很难在服务器端从大量报文中找到对应的此报文。当前主要根据不同协议的特征进行查找,例如HTTP协议,可以根据一条流量的HTTP的请求和响应报文,例如GET、POST、200OK等报文,若同一访问有较多请求报文,因为URL内容不会改变,则根据请求的具体URL来进一步确认服务器端的报文;FTP协议选择特征报文为FTP的request command为“USER”“PASS”“PASV”“LIST”等的作为特征报文;然后进行进一步的关键字段的比较。
本公开的发明人发现,现有技术方案存在如下缺点:
1)对测试环境要求比较高,由于业务不同,所需要的应用服务不同,所以可能需要搭建多个服务器,多种服务各自进行验证,对测试人员的动手能力、以及测试环境要求较高,并且耗时耗力。
2)需要在客户端和服务器端同时进行抓取报文,然后发起业务访问,通过不同TCP业务的不同特征报文进行判断是否为设备处理前后的同一个报文,例如HTTP可以选择GET请求、POST请求、200OK等报文,FTP协议选择特征报文为FTP的request command为“USER”“PASS”“PASV”“LIST”等的作为特征报文,然后比较同一特征报文的关键字段内容是否相同,不同应用协议需要分开各自查找特征报文。确认特征报文过程较为繁琐、并且需要多次查找特征报文,耗时易出错。
3)由于特征报文在整个业务流量中占比较小,所以需要发起多次访问,多次查找特征报文,增加特征报文的样本,保证测试覆盖的完整性。
4)若通过脚本抓取特征报文,由于不同应用协议的特征报文不同,前期需要大量的工作量来整理各种协议的特征,并编写为脚本,此种方法需要对多种协议有掌握熟练,并且工作量较大,无法达到快速验证的目的。
有鉴于现有技术中的缺陷,本公开中的半透明代理服务器的测试方法、装置、系统,通过简单易操作的测试环境、测试仪表并结合python脚本的方式,实现了半透明代理服务器的测试,具有如下优点:
1)测试仪表将多种应用层混合流量一起发送,同时进行多种流量测试,确认多种协议的半透明代理服务器工作是否正常。
2)测试仪表能够模拟多个服务器,对每个服务器IP地址,每种应用流量各发起1条请求,此时可快速确认每种应用流量的客户端和服务器端的比对报文,然后快速比较关键字段;由于测试仪表每种协议发起了多个请求,所以特征报文的样本较大,测试覆盖较为完整。
3)客户端和服务器的报文中,能够快速过滤出需要比较的报文,通过python编写的简单的循环脚本,比较过滤出报文的关键字段,脚本简单,无法分析多种应用协议以及协议特征。可简单、快速确认DUT设备的半透明代理功能是否正常
下面结合具体的实施例,来对本公开中的半透明代理服务器的测试方法、装置、系统进行详细说明。
图1是根据一示例性实施例示出的一种半透明代理服务器的测试方法、装置、系统、电子设备及计算机可读介质的系统框图。
如图1所示,系统架构10可以包括测试仪表101、被测设备102、服务器103,测试仪表101、被测设备102、服务器103之间通过通信链路的介质链接。通信链路可可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
测试仪表101用于多个TCP业务流量;所述测试仪表101还用于发起带有预设负载的多个应用层混合流量;所述应用层混合流量包括:HTTP应用层流量、FTP应用层流量、SMTP应用层流量。
被测设备102用于实现基于包过滤策略的半透明代理服务器功能;所述被测设备102还用于接收所述多个TCP业务流量,并修改所述TCP业务流量中报文的源IP地址,输出多个请求流量。
服务器103用于获取半透明代理服务器和测试仪表之间的多个数据包;基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常。
测试仪表101发送的上述应用层流量送达被测设备102后,被测设备102对应的模块处理后转发至测试仪表101的另一端接口。服务器103上安装有测试仪客户端,控制测试仪表101的流量的发送;并且运行编写的python脚本,脚本主要功能为测试仪表101的流量发送完成后,获取测测试仪表101抓取到的报文,分析报文,并比对报文部分字段内容,确认被测设备102中基于包过滤的半透明代理工作是否正常。
图2是根据一示例性实施例示出的一种半透明代理服务器的测试方法的流程图。半透明代理服务器的测试方法20可应用在服务器端,至少包括步骤S202至S208。
如图2所示,在S202中,获取半透明代理服务器和测试仪表之间的多个数据包。可例如,控制所述测试仪表发起多个TCP业务流量;接收由所述半透明代理服务器输出的多个请求流量;基于所述请求流量提取半透明代理服务器和测试仪表之间的多个数据包。
更具体的,可通过测试仪表发起TCP业务流量,流量是HTTP、FTP、SMTP等多种应用层的混合流量,流量模型为发起300个TCP业务访问,每种TCP应用流量各100个,客户端IP地址设置为20个,服务器IP地址个数为100个。
在S204中,基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号。可基于包过滤功能,提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号。
其中,包过滤(Packet Filtering)也称IP过滤器(IP filters),是指在网络层截获网络数据包,根据配置的规则策略,对数据包进行分析、选择。通过检查数据流中每一个数据包的源IP地址、目的IP地址、源端口号、目的端口号、协议类型等因素或它们的组合来确定是否允许该数据包通过。它是在网络层提供高级别的安全防护和控制的功能。
在S206中,将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行循环比较,生成多个比较结果。可例如,将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行比较,在比较结果相同时,继续比较所述测试仪表与所述半透明代理服务器标识和序列号,以生成比较结果。
在一个实施例中,可分别将客户端和服务器端报文中过滤出来的预设报文存储为client.pcap和server.pcap(词典文件格式)。基于client.pca文件p和server.pcap文件进行循环比较,将客户端的dic1(编号为1的客户端的DIC格式文件)与服务器的DIC1(编号为1的服务器的DIC格式文件)的目的IP地址dic["dst"]和目的端口dic["dstport"]进行比较,若目的IP和目的端口不同,则将dic1与DIC2比较,直到与第m个比较结果为相同。
然后,目的IP和目端口相同则继续比较关键字段dic["ID"]和dic["seq"],若全部不相同,那么比较客户端的第二个报文,循环比较100次。如此操作,上文中每种应用协议选择了100个样本进行测试,同时测试了三种协议。通过简单的循环比较可简单快速确定客户端和服务器端的对应报文,并比较关键字段。
在S208中,在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常。在每种协议发送100条流量,每条流量比较1个报文的情况下,若每次比较结果均不相同,符合预期结果,则基于包过滤的透明代理功能正常
根据本公开的半透明代理服务器的测试方法,获取半透明代理服务器和测试仪表之间的多个数据包;基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常的方式,能够基于简单测试环境同时对多种应用层流量进行半透明代理服务器功能验证,验证速度快,验证结果准确率高。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种半透明代理服务器的测试方法的流程图。图3所示的流程30是对图2所示的流程中S202“获取半透明代理服务器和测试仪表之间的多个数据包”的详细描述。
如图3所示,在S302中,控制所述测试仪表发起多个TCP业务流量。可例如,控制所述测试仪表发起带有预设负载的多个应用层混合流量;所述应用层混合流量包括:HTTP应用层流量、FTP应用层流量、SMTP应用层流量。
更进一步的,测试仪表中的流量模型可发起300个TCP业务访问,每种TCP应用流量各100个,客户端IP地址设置为20个,服务器IP地址个数为100个,三种协议的应用层的负载均设置为1500Byte。这种情况下,测试仪每种应用流量会发起100个请求,并且每个请求的目的IP均不同。
在S304中,接收由所述半透明代理服务器输出的多个请求流量。还包括:基于相同的目的IP地址来确定所述测试仪表和所述半透明代理服务器之间的同一条请求流量。
在一个实施例中,在客户端和服务器端可以根据相同的目的IP地址来确认同一条完整的请求流量。以HTTP为例,测试仪表会发起100条HTTP流量访问,这100条流量每条的目的IP均不相同,客户端与服务器端进行报文交互过程中设备不会对目的IP地址进行变更,因此对某条HTTP业务流量,目的IP是唯一的。对于混合流量,目的端口不会进行改变,因此根据目的端口和目的IP地址可以准确查找到客户端和服务器端的同一条流量。
在S306中,基于所述请求流量提取半透明代理服务器和测试仪表之间的多个数据包。
图4是根据另一示例性实施例示出的一种半透明代理服务器的测试方法的流程图。图4所示的流程40是对图2所示的流程中S204“基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号”的详细描述。
如图4所示,在S402中,由所述多个数据包中提取出报文IP长度为预设字节的预设报文。在上文中根据目的IP和目的端口可确定客户端和服务器端的同一条流量后,由于应用层负载为1500Byte,并且每条流量只发送1个请求,因此携带应用层负载的报文只有2个,其中1个的IP报文长度为1500字节,另一个IP报文长度较小;流量交互过程中,其他报文只是携带交互消息,报文长度均较小。当前测试每条流量选择1个报文作为关键字段比较的报文,由于三种应用协议一起发送,发送的各种协议报文中每条应用流量请求存在一个报文IP长度ip.len为1500字节,从所有报文中过滤出IP length为1500字节的报文来作为关键字比较报文,这样无需查找每种协议的特征。
在S404中,将所述预设报文存储为pcap文件。可分别将客户端和服务器端报文中过滤出来的ip.len为1500的报文另保存为client.pcap和server.pcap。提取报文中的目的IP、目的端口、Identification(标识)、sequence(序列号)
在S406中,基于python脚本文件对pcap文件进行解析,以提取所述多个目的IP、所述多个目的端口、所述多个标识、所述多个序列号。更具体的,可例如通过python脚本文件中的Scapy库对pcap文件进行解析;通过python脚本文件中的rdpcap读取pcap文件;通过python脚本文件中的payload提取述多个目的IP、所述多个目的端口、所述多个标识、所述多个序列号。
可例如,通过Python库Scapy进行pcap文件解析,并保存解析结果,可使用Scapy的rdpcap读取数据包:
import scapy.all as scapy
packets=scapy.rdpcap('D:\client.pcap')#报文存储路径
data_result=dict()
还可例如,通过Scapy的rdpcap读取数据包,使用payload提取报文的目的IP地址、目的端口、Identification、sequence、tcp的标志位等字段并保存为dic
服务器端报文将提取结果保存为DIC。
图5是根据另一示例性实施例示出的一种半透明代理服务器的测试方法的流程图。图5所示的流程50是对图2所示的流程中的补充描述。
如图5所示,在S502中,过滤数据包,获取客户端和服务器端的预设报文,提取预设报文的目的IP、目的端口、标识、序列号。
S504中,客户端的第n个报文的目的端口和目的IP与服务器端的第M个报文的目的端口和目的IP是否相等。
S506中,相等则继续比较标识、序列号是否相等。
S508中,不相等则m=m+1。
S510中,m是否小于301。
S512中,比较完成。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图6是根据一示例性实施例示出的一种半透明代理服务器的测试装置的框图。如图6所示,半透明代理服务器的测试装置60包括:数据模块602,提取模块604,比较模块606,判断模块608。
数据模块602用于获取半透明代理服务器和测试仪表之间的多个数据包;可例如,控制所述测试仪表发起多个TCP业务流量;接收由所述半透明代理服务器输出的多个请求流量;基于所述请求流量提取半透明代理服务器和测试仪表之间的多个数据包。
提取模块604用于基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;可基于包过滤功能,提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号。
比较模块606用于将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;可例如,将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行比较,在比较结果相同时,继续比较所述测试仪表与所述半透明代理服务器标识和序列号,以生成比较结果。
判断模块608用于在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常。在每种协议发送100条流量,每条流量比较1个报文的情况下,若每次比较结果均不相同,符合预期结果,则基于包过滤的透明代理功能正常。
根据本公开的半透明代理服务器的测试装置,获取半透明代理服务器和测试仪表之间的多个数据包;基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常的方式,能够基于简单测试环境同时对多种应用层流量进行半透明代理服务器功能验证,验证速度快,验证结果准确率高。
图7是根据一示例性实施例示出的一种电子设备的框图。
下面参照图7来描述根据本公开的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述电子处方流转处理方法部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图2,图3,图4,图5中所示的步骤。
所述存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
所述存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备700’(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器760可以通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图8所示,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取半透明代理服务器和测试仪表之间的多个数据包;基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (12)
1.一种半透明代理服务器的测试方法,其特征在于,包括:
获取半透明代理服务器和测试仪表之间的多个数据包;基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;
采用测试仪表模拟多个服务器,对每个服务器IP地址,每种应用流量各发起1条请求,将所述测试仪表发出的报文的多个目的端口和多个目的IP与所述半透明代理服务器发出的报文的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;
在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常。
2.如权利要求1所述的测试方法,其特征在于,获取半透明代理服务器和测试仪表之间的多个数据包,包括:
控制所述测试仪表发起多个TCP业务流量;
接收由所述半透明代理服务器输出的多个请求流量;
基于所述请求流量提取半透明代理服务器和测试仪表之间的多个数据包。
3.如权利要求2所述的测试方法,其特征在于,控制所述测试仪表发起多个TCP业务流量,包括:
控制所述测试仪表发起带有预设负载的多个应用层混合流量;
所述应用层混合流量包括:HTTP应用层流量、FTP应用层流量、SMTP应用层流量。
4.如权利要求2所述的测试方法,其特征在于,接收由所述半透明代理服务器输出的多个请求流量,还包括:
基于相同的目的IP地址来确定所述测试仪表和所述半透明代理服务器之间的同一条请求流量。
5.如权利要求4所述的测试方法,其特征在于,基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号,包括:
由所述多个数据包中提取出报文IP长度为预设字节的预设报文;
基于所述预设报文提取所述多个目的IP、所述多个目的端口、所述多个标识、所述多个序列号。
6.如权利要求5所述的测试方法,其特征在于,基于所述预设报文提取所述多个目的IP、所述多个目的端口、所述多个标识、所述多个序列号,包括:
将所述预设报文存储为pcap文件;
基于python脚本文件对pcap文件进行解析,以提取所述多个目的IP、所述多个目的端口、所述多个标识、所述多个序列号。
7.如权利要求6所述的测试方法,其特征在于,基于python脚本文件对pcap文件进行解析,以提取所述多个目的IP、所述多个目的端口、所述多个标识、所述多个序列号,包括:
通过python脚本文件中的Scapy库对pcap文件进行解析;
通过python脚本文件中的rdpcap读取pcap文件;
通过python脚本文件中的payload提取述多个目的IP、所述多个目的端口、所述多个标识、所述多个序列号。
8.如权利要求1所述的测试方法,其特征在于,将所述测试仪表发出的报文的多个目的端口和多个目的IP与所述半透明代理服务器发出的报文的多个目的端口和多个目的IP进行循环比较,生成多个比较结果,包括:
将所述测试仪表的多个目的端口和多个目的IP与所述半透明代理服务器的多个目的端口和多个目的IP进行比较,在比较结果相同时,继续比较所述测试仪表与所述半透明代理服务器标识和序列号,以生成比较结果。
9.一种半透明代理服务器的测试装置,其特征在于,包括:
数据模块,用于获取半透明代理服务器和测试仪表之间的多个数据包;
提取模块,用于基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;
比较模块,采用测试仪表模拟多个服务器,对每个服务器IP地址,每种应用流量各发起1条请求,用于将所述测试仪表发出的报文的多个目的端口和多个目的IP与所述半透明代理服务器发出的报文的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;
判断模块,用于在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常。
10.一种半透明代理服务器的测试系统,其特征在于,包括:
测试仪表,用于多个TCP业务流量;
被测设备,用于实现基于包过滤策略的半透明代理服务器功能;
服务器,用于获取半透明代理服务器和测试仪表之间的多个数据包;基于所述多个数据包提取预设报文中的多个目的IP、多个目的端口、多个标识、多个序列号;采用测试仪表模拟多个服务器,对每个服务器IP地址,每种应用流量各发起1条请求,将所述测试仪表发出的报文的多个目的端口和多个目的IP与所述半透明代理服务器发出的报文的多个目的端口和多个目的IP进行循环比较,生成多个比较结果;在所述多个比较结果均不相同时,确定所述半透明代理服务器工作正常。
11.如权利要求10所述的测试系统,其特征在于,所述测试仪表,还用于
发起带有预设负载的多个应用层混合流量;
所述应用层混合流量包括:HTTP应用层流量、FTP应用层流量、SMTP应用层流量。
12.如权利要求10所述的测试系统,其特征在于,所述被测设备,还用于
接收所述多个TCP业务流量,并修改所述TCP业务流量中报文的源IP地址,输出多个请求流量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010842030.2A CN111917611B (zh) | 2020-08-20 | 2020-08-20 | 半透明代理服务器的测试方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010842030.2A CN111917611B (zh) | 2020-08-20 | 2020-08-20 | 半透明代理服务器的测试方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111917611A CN111917611A (zh) | 2020-11-10 |
CN111917611B true CN111917611B (zh) | 2021-10-26 |
Family
ID=73278611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010842030.2A Active CN111917611B (zh) | 2020-08-20 | 2020-08-20 | 半透明代理服务器的测试方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111917611B (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2876863B1 (en) * | 2013-11-22 | 2016-08-10 | Alcatel Lucent | Delivery and storage of content within a network |
CN106105164B (zh) * | 2013-12-11 | 2020-06-05 | 瑞典爱立信有限公司 | 代理拦截 |
JP6429640B2 (ja) * | 2015-01-21 | 2018-11-28 | キヤノン株式会社 | 遠隔コミュニケーションで用いられるコミュニケーションシステム |
CN105743739A (zh) * | 2016-03-28 | 2016-07-06 | Tcl集团股份有限公司 | 对称式nat的端口预测方法、探测服务器及受测端设备 |
CN108183838B (zh) * | 2017-12-25 | 2020-11-06 | 杭州迪普科技股份有限公司 | 一种源nat功能测试的方法及装置 |
CN109889620B (zh) * | 2019-01-29 | 2022-07-19 | 上海联虹技术有限公司 | linux系统下实现网络地址转换环回的方法、装置及存储介质 |
CN111147449A (zh) * | 2019-12-09 | 2020-05-12 | 杭州迪普科技股份有限公司 | 一种包过滤策略的测试方法、装置、系统及设备、介质 |
CN111431871B (zh) * | 2020-03-10 | 2022-11-25 | 杭州迪普科技股份有限公司 | Tcp半透明代理的处理方法和装置 |
-
2020
- 2020-08-20 CN CN202010842030.2A patent/CN111917611B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111917611A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9720798B2 (en) | Simulating black box test results using information from white box testing | |
US20190268320A1 (en) | Dynamic web services server | |
CN109976995B (zh) | 用于测试的方法和装置 | |
US20160277357A1 (en) | Firewall testing | |
US10725751B2 (en) | Generating a predictive data structure | |
CN110247933B (zh) | 实现防火墙策略的方法和装置 | |
CN111930709B (zh) | 数据存储方法、装置、电子设备和计算机可读介质 | |
US10310956B2 (en) | Techniques for web service black box testing | |
CN112905933A (zh) | 页面跳转方法、装置、电子设备及存储介质 | |
CN111488581A (zh) | 弱口令漏洞检测方法、装置、电子设备及计算机可读介质 | |
CN111565127B (zh) | 用于网络地址转换的测试方法、系统、设备及介质 | |
CN113179194A (zh) | Opc协议网关的测试系统及方法 | |
CN113391967B (zh) | 防火墙的包过滤测试方法及装置 | |
CN113206850B (zh) | 恶意样本的报文信息获取方法、装置、设备及存储介质 | |
CN111917611B (zh) | 半透明代理服务器的测试方法、装置及系统 | |
US9398041B2 (en) | Identifying stored vulnerabilities in a web service | |
Munea et al. | Design and implementation of fuzzing framework based on IoT applications | |
CN114157640B (zh) | 用于区块链通信系统的方法、控制器与代理装置 | |
CN114143079B (zh) | 包过滤策略的验证装置及方法 | |
CN113179317B (zh) | 内容重写设备的测试系统及方法 | |
CN111651766A (zh) | 越权访问的测试方法及装置 | |
CN115484200B (zh) | 一种埋点测试方法、装置、服务器、存储介质和系统 | |
CN112799956B (zh) | 资产识别能力测试方法、装置及系统装置 | |
CN114006838B (zh) | 流控设备的测试方法及系统 | |
CN118250056A (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 |