CN108040045A - 访问流量文件的生成方法、装置、服务器及存储介质 - Google Patents

访问流量文件的生成方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN108040045A
CN108040045A CN201711284337.XA CN201711284337A CN108040045A CN 108040045 A CN108040045 A CN 108040045A CN 201711284337 A CN201711284337 A CN 201711284337A CN 108040045 A CN108040045 A CN 108040045A
Authority
CN
China
Prior art keywords
file
accessing
flow
request
access
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.)
Granted
Application number
CN201711284337.XA
Other languages
English (en)
Other versions
CN108040045B (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.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201711284337.XA priority Critical patent/CN108040045B/zh
Publication of CN108040045A publication Critical patent/CN108040045A/zh
Application granted granted Critical
Publication of CN108040045B publication Critical patent/CN108040045B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种访问流量文件的生成方法、装置、服务器及存储介质。其中,所述方法包括:从至少两类流量文件中分别提取访问请求信息;按照预设编排格式将所述访问请求信息编排为通用访问流量文件。可以生成通用格式的访问流量文件,解决了需要多种代理服务器访问工具才能进行流量重放的问题,便于实现大规模线上流量重放的技术效果。

Description

访问流量文件的生成方法、装置、服务器及存储介质
技术领域
本发明实施例涉及网络安全技术领域,尤其涉及一种访问流量文件的生成方法、装置、服务器及存储介质。
背景技术
随着互联网技术的飞速发展,网络安全逐渐成为一个潜在的巨大问题。对主机的网络安全检测就是利用网络扫描软件对主机进行定时的扫描,以发现主机中存在的漏洞或潜在威胁并提示主机用户采取措施进行防护。在进行网络安全测试时,需要获取待测系统的访问流量,即http/https请求集,以便根据访问流量进行重放攻击或者安全分析。此外,在大型网站项目重构中,也需要访问流量进行大规模线上流量重放以进行回归测试。
目前,可以通过各种类型的代理服务器访问工具对访问流量进行采集。但在实现本发明的过程中,发明人发现如下技术问题:由于各种类型的代理服务器访问工具生成的访问流量文件类型不同,只能通过对应的工具进行流量重放,不易于实现大规模线上流量重放。
发明内容
有鉴于此,本发明实施例提供一种访问流量文件的生成方法、装置、服务器及存储介质,以解决现有技术中需要通过多种代理服务器访问工具才能实现流量重放的技术问题。
第一方面,本发明实施例提供了一种访问流量文件的生成方法,包括:
从至少两类流量文件中分别提取访问请求信息;
按照预设编排格式将所述访问请求信息编排为通用访问流量文件。
第二方面,本发明实施例还提供了一种访问流量文件的生成装置,包括:
提取模块,用于从至少两类流量文件中分别提取访问请求信息;
编排模块,用于按照预设编排格式将所述访问请求信息编排为通用访问流量文件。
第三方面,本发明实施例还提供了一种服务器,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例提供的任一所述的访问流量文件的生成方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例提供的任一所述的访问流量文件的生成方法。
本发明实施例提供的访问流量文件的生成方法、装置、服务器及存储介质,通过从各种采集方式得到的流量文件中提取访问请求信息,并将所述访问请求信息按照预设的格式进行编排,以生成通用访问流量文件。可以生成通用格式的访问流量文件,解决了需要多种代理服务器访问工具才能进行流量重放的问题,便于实现大规模线上流量重放的技术效果。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例一提供的访问流量文件的生成方法的流程图;
图2是本发明实施例二提供的访问流量文件的生成方法的流程图;
图3是本发明实施例三提供的访问流量文件的生成方法的流程图;
图4是本发明实施例四提供的访问流量文件的生成方法的流程图;
图5是本发明实施例五提供的访问流量文件的生成方法的过程图;
图6是本发明实施例六提供的访问流量文件的生成装置的结构图;
图7是本发明实施例七提供的服务器的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的访问流量文件的生成方法的流程图,本实施例可适用于生成通用访问流量文件的情况,该方法可以由访问流量文件的生成装置来执行,具体包括如下步骤:
步骤110、从至少两类流量文件中分别提取访问请求信息。
目前,攻击者通常借助代理服务器生成指向受害主机的合法请求,用来攻击页面。由于攻击者生成的访问合法请求在短时间内不停的进行访问,消耗大量的系统资源。由此可以看出,攻击的是采用大量的合法请求实现的。因此,在进行重放攻击或者对攻击进行安全分析时,都需要访问流量,即合法请求集。目前,访问请求都是通过http或者https访问协议实现的。具体的,在通过http或者https访问协议提出合法访问请求过程如下:Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的。HTTP和HTTPS是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能进行更高层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80。在建立了TCP连接后,Web浏览器就会向Web服务器发送访问请求命令。例如:GET/sample/hello.jsp HTTP/1.1。浏览器在发送上述所述访问请求命令之后,还要以头信息的形式向Web服务器发送一些其它信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。服务器在接收到访问请求后,会回送应答,例如:HTTP/1.1 200OK,应答的第一部分是协议的版本号和应答状态码。正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。
由上述过程中可以看出,Web服务器是根据客户端发出的访问请求信息进行回应的。因此,需要在客户端对http访问请求进行抓包,以得到访问请求信息。所述客户端可以包括移动终端、PC机、服务器等能够访问网络,且可执行http/https的各种终端。
目前,对http访问请求进行抓包主要是通过安装在客户端的各种代理服务器访问工具实现。例如:Fiddler、Charles和mitmproxy等代理服务器。对于http协议,由于其作为代理可以获取所有客户端发送到服务器端的请求内容,因此,可以对http访问请求进行抓包。而对于https协议,由于其采用了加密算法,通常采用截获真实客户端的HTTPS请求,伪装客户端向真实服务端发送HTTPS请求,接受真实服务器响应,用自己的证书伪装服务端向真实客户端发送数据内容。进而实现对https访问请求进行抓包。
由于抓包的信息中嵌套了证书的验证信息,而每种代理服务器工具的证书不同,因此,每种代理服务器工具所最后生成的流量文件也不相同。所述流量文件可以是包括记录客户端发出的各种访问请求信息的文件。因此,只有使用对应的代理服务器工具才能够去除嵌套的证书的验证信息,进而提供正常的访问请求信息供用户查看。而使用其他代理服务器工具则无法查看相应的访问请求信息。所述至少两类流量文件可以包括:录制得到的chles格式流量文件、录制得到的saz格式流量文件、access_log nginx日志文件和/或采集生成的txt格式的流量文件。
在本实施例中,所述访问请求信息包括:请求方法、请求URL、请求协议、请求头和请求体。具体的,Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。对于一个统一资源定位符(Uniform Resource Locator,URL)地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息,PUT用于修改资源信息,DELETE,用于删除某个资源信息。请求URL完整地指定了要访问的网络资源,通常只要给出相对于服务器的根目录的相对目录即可,因此总是以“/”开头,最后,协议版本声明了通信过程中使用HTTP的版本。请求头包含许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等。请求正文中可以包含客户提交的查询字符串信息。对于GET方法,由于其只是用于查询,其请求信息中可以不包括请求体,而对于其它操作,由于其涉及对访问资源的修改,因此其请求信息中必须包括请求体。
由上述描述可以看出,所述访问请求信息与一个完整的HTTP请求相对应,因此,从流量文件中提取访问请求信息即可得到一个完整的HTTP请求的所有内容。
在本实施例中,可以从至少两类流量文件中分别提取访问请求信息。所述至少两类流量文件可以包括:不同的代理服务器访问工具生成的流量文件或日志文件以及采用浏览器插件记录的流量文件。所述至少两类流量文件可以是从客户端得到的。示例性的,可以是客户端通过各种代理服务器访问工具生成的流量文件,或者利用部分浏览器插件,例如chrome浏览器的开发者工具获取流量,并根据所述流量生成的流量文件,以及代理服务器访问工具的日志文件等不同来源的流量文件。每类流量文件中分别记录了一段时间内的客户端的各种网络请求,也包括HTTP访问请求。因此,可以分别从不同种类的每个流量文件中提取访问请求信息。示例性的,由于访问请求信息中都存在着对应的关键字,例如:get、http和body等。利用所述关键字可以从流量文件中提取访问请求信息。
步骤120、按照预设编排格式将所述访问请求信息编排为通用访问流量文件。
根据上述方法从至少两类流量文件中分别提取得到的访问请求信息是分散的信息,因此,需要将其进行编排,使之成为通用访问流量文件。所述通用访问流量文件一方面可以记录完整的请求信息,并且使得编排后所生成的文件格式方便在流量重放时使用。另一方面可以综合上述多类流量的访问请求信息,不再受到采集工具的限制,因此,称为通用访问流量文件。
所述预设编排格式可以是按照一个完整的请求内容进行编排,并且访问请求信息按照实际http请求发送顺序进行编排。示例性的,所述预设编排格式可以是在每一个http/https请求间隔两个换行符,并且对于GET方法,可将所述访问请求信息分为两个部分,第一部分为请求方法、URL和请求协议,第二部分则为请求头。对于POST方法,第一部分为请求方法、URL和请求协议,第二部分则为请求头,第三部分为请求体。对于PUT和DELETE,则可以参考POST方法的格式进行编排,在编排完成后,生成通用访问流量文件。利用该通用访问流量文件可以利用各种工具实现对所有访问请求进行重放的目的。
本实施例通过从各种采集方式得到的流量文件中提取访问请求信息,并将所述访问请求信息按照预设的格式进行编排,以生成通用访问流量文件。可以生成通用格式的访问流量文件,解决了需要多种代理服务器访问工具才能进行流量重放的问题,便于实现大规模线上流量重放的技术效果。
在本实施例的一个优选实施方式中,可以在按照预设编排格式将所述访问请求信息编排为通用访问流量文件之后,增加如下步骤:将所述通用访问流量文件存入数据库。利用数据库存储通用访问流量文件,方便进行查询和取出。可以在进行大规模流量重现时,方便取出相应的通用访问流量文件。
实施例二
图2为本发明实施例二提供的访问流量文件的生成方法的流程图。本实施例以上述实施例为基础进行优化,在本实施例中,将所述从至少两类流量文件中提取访问请求信息,具体优化为:根据至少两类所述流量文件的类型分别确定访问请求信息的存储格式;按照所述存储格式从所述流量文件中提取访问请求信息。
相应的,本实施例所提供的访问流量文件的生成方法,包括:
步骤210、根据至少两类所述流量文件的类型分别确定访问请求信息的存储格式。
每种代理服务器访问工具所生成的流量文件的类型都不相同。例如:通过Charles代理服务器访问工具生成的流量文件文件类型为chles格式流量文件,通过Fiddler代理服务器访问工具生成的流量文件文件类型为saz格式流量文件,和通过nginx反向代理服务器生成的流量文件文件类型为access_log格式日志文件。而每种代理服务器访问工具所生成的流量文件中存储的访问请求信息格式与其文件类型相对应,因此,可以根据所述至少两类所述流量文件的类型分别确定访问请求信息的存储格式。示例性的,可以根据所述流量文件的后缀名确定所述流量文件的类型,并根据类型确定其对应的访问请求信息的存储格式。
步骤220、按照所述存储格式从所述流量文件中提取访问请求信息。
示例性的,可以根据所述存储格式确定流量文件中访问请求信息的标识符,并根据所述标识符从所述流量文件中提取访问请求信息。示例性的,对于saz格式的流量文件,在请求协议前存在[protocol]标识符,在URL和请求方法前存在[URL]标识符,在请求主体前存在[BODY]标识符,可以在所述流量文件中查找所述标识符,并根据所述标识符提取相应的访问请求信息。
可选的,还可以根据所述存储格式确定访问请求信息所在的段落和\或行,以及具体的位置,并根据所述位置从所述流量文件中提取访问请求信息。示例性的,对于nginx反向代理服务器生成的access_log格式日志文件,其在同一段中按照设定的顺序依次写入各种相关信息,因此,可以根据访问请求信息在格式日志文件中每一段的相应位置提取相应的访问请求信息。
步骤230、按照预设编排格式将所述访问请求信息编排为通用访问流量文件。
本实施例通过将所述从至少两类流量文件中提取访问请求信息,具体优化为:根据至少两类所述流量文件的类型分别确定访问请求信息的存储格式;按照所述存储格式从所述流量文件中提取访问请求信息。可以从流量文件中准确的提取访问请求信息。此外,由于无需遍历所述流量文件,因此,还能够提高提取访问请求信息的效率。
实施例三
图3为本发明实施例三提供的访问流量文件的生成方法的流程图。本实施例以上述实施例为基础进行优化,在本实施例中,在按照预设编排格式将所述访问请求信息编排为通用访问流量文件之后,增加如下步骤:将所述通用访问流量文件转换为代理服务器访问工具的流量文件,以使得利用所述代理服务器访问工具实现流量重现。
相应的,本实施例所提供的访问流量文件的生成方法,包括:
步骤310、从至少两类流量文件中分别提取访问请求信息。
步骤320、按照预设编排格式将所述访问请求信息编排为通用访问流量文件。
步骤330、将所述通用访问流量文件转换为代理服务器访问工具的流量文件,以使得利用所述代理服务器访问工具实现流量重现。
在得到通用访问流量文件后,可以根据所述通用访问流量文件实现流量重现。示例性的,可以将所述通用访问流量文件按照模拟流量访问所采用的代理服务器访问工具所记录的流量文件格式进行转换。例如:按照Fiddler代理服务器访问工具的流量文件格式将通用访问流量文件中的访问请求信息填入流量文件中,实现将所述通用访问流量文件转换为代理服务器访问工具的流量文件。以实现利用所述代理服务器访问工具实现流量重放。
本实施例通过在按照预设编排格式将所述访问请求信息编排为通用访问流量文件之后,增加如下步骤:将所述通用访问流量文件转换为代理服务器访问工具的流量文件,以使得利用所述代理服务器访问工具实现流量重现。可以将多种采集方式得到的流量文件通过某一种代理服务器访问工具实现流量重放。
实施例四
图4为本发明实施例四提供的访问流量文件的生成方法的流程图。本实施例以上述实施例为基础进行优化,在本实施例中,在按照预设编排格式将所述访问请求信息编排为通用访问流量文件之后,增加如下步骤:将所述通用访问流量文件中的请求头和/或请求体转换为标记语言文件格式。
相应的,本实施例所提供的访问流量文件的生成方法,包括:
步骤410、从至少两类流量文件中分别提取访问请求信息。
步骤420、按照预设编排格式将所述访问请求信息编排为通用访问流量文件。
步骤430,将所述通用访问流量文件中的请求头和/或请求体转换为标记语言文件格式。
通用访问流量文件中的请求头和\或请求体通常用于向适用于服务器访问工具的流量文件中写入。为了方便写入,可以将所述通用访问流量文件中的请求头和/或请求体转换为标记语言文件格式。所述标记语言文件格式可以是一种特定格式,用于就其组织结构、各部件及其之间的关系进行文档描述,方便进行数据交换和操作。可选的,可以将所述请求头和\或请求体转换为json(JavaScript Object Notation)格式,是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。可以将JavaScript对象中表示的一组数据转换为字符串,并在需要的时候将它还原为原有的数据格式或者其它语言所支持的数据格式。利用包括json格式的请求头和/或请求体的通用流量文件易于转换为特定格式的流量文件,进而方便进行流量重放。
本实施例通过在按照预设编排格式将所述访问请求信息编排为通用访问流量文件之后,增加如下步骤:将所述通用访问流量文件中的请求头和/或请求体转换为标记语言文件格式。可以利用标记语言文件格式方便进行数据交换和操作的特征,易于转换为特定格式的流量文件,进而方便进行流量重放。
在本实施例的一个优选实施方式中,可以在将所述通用访问流量文件中的请求头和请求体转换为标记语言文件之后,增加如下步骤:对转换为标记语言文件格式的请求头和/或请求体进行加密压缩。请求头和/或请求体是访问请求中的重要信息。且相对其它部分数据量较大,为保证信息安全和减少存储体积,可以对转换为标记语言文件格式的请求头和/或请求体进行加密压缩。示例性的,可以将转换为标记语言文件格式请求头和/或请求体分别进行hex 16进制编码,然后分别使用zlib进行压缩。可以实现保证信息安全和减少存储体积。
实施例五
图5为本发明实施例五提供的访问流量文件的生成方法的过程图。本实施例将结合具体应用场景对访问流量文件的生成方法进行说明。参见图5,所述访问流量文件的生成方法,包括:
1、获取多种流量文件。
在本实施例中,可以通过一个网络平台手机多种流量文件,所述多种流量文件可以是用户上传的各种流量文件,即用户在客户端通过各种代理服务器访问工具进行http或https抓包所得到的流量文件。每种流量文件可包括多个流量文件。例如:通过Charles进行流量的录制,最后形成.chles后缀名的流量文件,通过Fiddler进行流量的录制,最后形成.saz后缀名的流量文件和通过nginx反向代理服务器的access_log文件。而对于通过Chrome的开发者工具和mitmproxy代理服务器进行流量采集后没有相应的文件,则可以采用提供的脚本文件,对抓取的数据包按照预设的格式生成.txt格式的文本文件。上述各种流量文件均可通过网络平台获取得到。
2、对多种流量文件进行解析,从流量文件中提取访问请求信息。
在流量文件获取完成后,可以通过各种形式,例如web服务器前段或者设定的脚本调用应用程序编程接口(Application Programming Interface,API),用于对多种流量文件进行解析,从流量文件中提取访问请求信息。具体的,区分不同格式的流量文件,并对每个流量文件使用与格式对应的解析方式进行流量解析,从流量文件中提取各个访问请求信息。所述访问请求信息可以包括:请求的请求方法、请求URL、请求协议、请求头、请求体等重要信息。
3、按照预设编排格式将所述访问请求信息编排为通用访问流量文件。
示例性的,编排格式如下:
每一个http/https请求间隔两个换行符(\n\n),用于区分不同的请求。
一个http/https GET方法请求由两部分组成:
第一部分:请求方法URI请求协议
第二部分:请求头。
一个http/https POST请求由三部分组成:
第一部分:请求方法URL请求协议;
第二部分:请求头;
第三部分:请求体(请求头和请求体之间由两个换行符分隔)。
4、进行转码压缩。
在获取了各个访问请求信息后,对每个请求进行转码压缩。其中,将请求头转为json格式,然后使用hex 16进制编码,最使用zlib进行压缩,从而获取转码压缩后的请求头,同时对请求体也进行相同形式的转码压缩。
5、存储。
可以调用用于在数据库中创建记录的API,在数据库中创建相应的记录,并将通用访问流量文件中转码压缩后的每个完整的访问请求信息存入数据库中,且与所述记录相对应。
6、流量重放。
在需要进行流量重放时,从数据库中按照记录将转码压缩后的完整访问请求信息取出,并进行解压和解码,生成相应的json格式信息,并将json格式信息按照采用重放的代理服务器访问工具的格式进行组织,并通过代理服务器访问工具进行重放。
实施例六
图6是本发明实施例五提供的访问流量文件的生成装置的结构示意图,如图5所示,所述装置包括:
提取模块610,用于从至少两类流量文件中分别提取访问请求信息;
编排模块620,用于按照预设编排格式将所述访问请求信息编排为通用访问流量文件。
本实施例提供的访问流量文件的生成装置,通过从各种采集方式得到的流量文件中提取访问请求信息,并将所述访问请求信息按照预设的格式进行编排,以生成通用访问流量文件。可以生成通用格式的访问流量文件,解决了需要多种代理服务器访问工具才能进行流量重放的问题,便于实现大规模线上流量重放的技术效果。
在上述各实施例的基础上,提取模块包括:
格式确定单元,用于根据至少两类所述流量文件的类型分别确定访问请求信息的存储格式;
提取单元,用于按照所述存储格式从所述流量文件中提取访问请求信息。
在上述各实施例的基础上,所述装置还包括:
流量文件转换模块,用于将所述通用访问流量文件转换为代理服务器访问工具的流量文件,以使得利用所述代理服务器访问工具实现流量重现。
在上述各实施例的基础上,所述访问请求信息包括:
请求方法、请求URL、请求协议、请求头和请求体。
在上述各实施例的基础上,所述至少两类流量文件包括:
录制得到的chles格式流量文件、录制得到的saz格式流量文件、access_lognginx日志文件和/或采集生成的txt格式的流量文件。
在上述各实施例的基础上,所述装置还包括:
存储模块,用于将所述通用访问流量文件存入数据库。
在上述各实施例的基础上,所述装置还包括:
转换模块,用于将所述通用访问流量文件中的请求头和/或请求体转换为标记语言文件格式。
在上述各实施例的基础上,所述装置还包括:
加密压缩模块,用于对转换为标记语言文件格式的请求头和/或请求体进行加密压缩。
本发明实施例所提供的访问流量文件的生成装置可执行本发明任意实施例所提供的访问流量文件的生成方法,具备执行方法相应的功能模块和有益效果。
实施例七
图7为本发明实施例7提供的一种服务器的结构示意图。图7示出了适于用来实现本发明实施方式的示例性服务器12的框图。图7显示的服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,服务器12以通用计算设备的形式表现。服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该服务器12交互的设备通信,和/或与使得该服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的访问流量文件的生成方法。
实施例八
本发明实施例八还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例提供的任一所述的访问流量文件的生成方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以相互组合,形成本领域技术人员可以理解的其他实施方式。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (13)

1.一种访问流量文件的生成方法,其特征在于,包括:
从至少两类流量文件中分别提取访问请求信息;
按照预设编排格式将所述访问请求信息编排为通用访问流量文件。
2.根据权利要求1所述的方法,其特征在于,所述从至少两类流量文件中提取访问请求信息,包括:
根据至少两类所述流量文件的类型分别确定访问请求信息的存储格式;
按照所述存储格式从所述流量文件中提取访问请求信息。
3.根据权利要求1所述的方法,其特征在于,在按照预设编排格式将所述访问请求信息编排为通用访问流量文件之后,还包括:
将所述通用访问流量文件转换为代理服务器访问工具的流量文件,以使得利用所述代理服务器访问工具实现流量重现。
4.根据权利要求1所述的方法,其特征在于,所述访问请求信息包括:
请求方法、请求URL、请求协议、请求头和请求体。
5.根据权利要求1所述的方法,其特征在于,所述至少两类流量文件包括:
录制得到的chles格式流量文件、录制得到的saz格式流量文件、access_log nginx日志文件和/或采集生成的txt格式的流量文件。
6.根据权利要求1所述的方法,其特征在于,在按照预设编排格式将所述访问请求信息编排为通用访问流量文件之后,还包括:
将所述通用访问流量文件存入数据库。
7.根据权利要求1所述的方法,其特征在于,在按照预设编排格式将所述访问请求信息编排为通用访问流量文件之后,还包括:
将所述通用访问流量文件中的请求头和/或请求体转换为标记语言文件格式。
8.根据权利要求7所述的方法,其特征在于,在将所述通用访问流量文件中的请求头和请求体转换为标记语言文件之后,还包括:
对转换为标记语言文件格式的请求头和/或请求体进行加密压缩。
9.一种访问流量文件的生成装置,其特征在于,包括:
提取模块,用于从至少两类流量文件中分别提取访问请求信息;
编排模块,用于按照预设编排格式将所述访问请求信息编排为通用访问流量文件。
10.根据权利要求9所述的装置,其特征在于,所述提取模块包括:
格式确定单元,用于根据至少两类所述流量文件的类型分别确定访问请求信息的存储格式;
提取单元,用于按照所述存储格式从所述流量文件中提取访问请求信息。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
转换模块,用于将所述通用访问流量文件中的请求头和/或请求体转换为标记语言文件格式。
12.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的访问流量文件的生成方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的访问流量文件的生成方法。
CN201711284337.XA 2017-12-07 2017-12-07 访问流量文件的生成方法、装置、服务器及存储介质 Active CN108040045B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711284337.XA CN108040045B (zh) 2017-12-07 2017-12-07 访问流量文件的生成方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711284337.XA CN108040045B (zh) 2017-12-07 2017-12-07 访问流量文件的生成方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN108040045A true CN108040045A (zh) 2018-05-15
CN108040045B CN108040045B (zh) 2021-05-07

Family

ID=62096201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711284337.XA Active CN108040045B (zh) 2017-12-07 2017-12-07 访问流量文件的生成方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN108040045B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833525A (zh) * 2018-06-07 2018-11-16 国家计算机网络与信息安全管理中心 一种基于Fiddler的HTTPS流量内容的审计方法
CN109150865A (zh) * 2018-08-07 2019-01-04 厦门市美亚柏科信息股份有限公司 一种移动终端app通讯协议的保护、装置及存储介质
CN109743222A (zh) * 2018-12-25 2019-05-10 瑞庭网络技术(上海)有限公司 一种数据测试方法及相关设备
CN110022247A (zh) * 2019-04-15 2019-07-16 重庆天蓬网络有限公司 一种app数据加密传输的测试方法
WO2020233022A1 (zh) * 2019-05-21 2020-11-26 平安科技(深圳)有限公司 漏洞检测方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801817A (zh) * 2005-12-21 2006-07-12 阿里巴巴公司 日志文件的生成方法和系统
US7788388B2 (en) * 2000-05-15 2010-08-31 Ricoh Co., Ltd. Method and apparatus for appliance host supported network-based application delivery
CN104657497A (zh) * 2015-03-09 2015-05-27 国家电网公司 一种基于分布式计算的海量用电信息并行计算系统及方法
CN105872083A (zh) * 2016-05-19 2016-08-17 湖州微未信息科技有限公司 一种支持不同类型客户端访问服务器的方法、服务器及系统
CN105956029A (zh) * 2016-04-25 2016-09-21 吉林大学 混合存储架构下的数据访问方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788388B2 (en) * 2000-05-15 2010-08-31 Ricoh Co., Ltd. Method and apparatus for appliance host supported network-based application delivery
CN1801817A (zh) * 2005-12-21 2006-07-12 阿里巴巴公司 日志文件的生成方法和系统
CN104657497A (zh) * 2015-03-09 2015-05-27 国家电网公司 一种基于分布式计算的海量用电信息并行计算系统及方法
CN105956029A (zh) * 2016-04-25 2016-09-21 吉林大学 混合存储架构下的数据访问方法
CN105872083A (zh) * 2016-05-19 2016-08-17 湖州微未信息科技有限公司 一种支持不同类型客户端访问服务器的方法、服务器及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833525A (zh) * 2018-06-07 2018-11-16 国家计算机网络与信息安全管理中心 一种基于Fiddler的HTTPS流量内容的审计方法
CN108833525B (zh) * 2018-06-07 2021-06-25 国家计算机网络与信息安全管理中心 一种基于Fiddler的HTTPS流量内容的审计方法
CN109150865A (zh) * 2018-08-07 2019-01-04 厦门市美亚柏科信息股份有限公司 一种移动终端app通讯协议的保护、装置及存储介质
CN109743222A (zh) * 2018-12-25 2019-05-10 瑞庭网络技术(上海)有限公司 一种数据测试方法及相关设备
CN110022247A (zh) * 2019-04-15 2019-07-16 重庆天蓬网络有限公司 一种app数据加密传输的测试方法
CN110022247B (zh) * 2019-04-15 2020-10-16 重庆天蓬网络有限公司 一种app数据加密传输的测试方法
WO2020233022A1 (zh) * 2019-05-21 2020-11-26 平安科技(深圳)有限公司 漏洞检测方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN108040045B (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
CN108040045A (zh) 访问流量文件的生成方法、装置、服务器及存储介质
US6714931B1 (en) Method and apparatus for forming user sessions and presenting internet data according to the user sessions
US7343559B1 (en) Computer-readable recorded medium on which image file is recorded, device for producing the recorded medium, medium on which image file creating program is recorded, device for transmitting image file, device for processing image file, and medium on which image file processing program is recorded
US7392348B2 (en) Method for validating remotely cached dynamic content web pages
CN108040040A (zh) 一种应用协议报文的自动化解析方法和装置
US20100082747A1 (en) Real-time collaborative browsing
US20180131779A1 (en) Recording And Triggering Web And Native Mobile Application Events With Mapped Data Fields
JP2010500689A (ja) 対話的ウェブアプリケーションのウェブ分析可能化方法
US10347286B2 (en) Displaying session audit logs
US6175838B1 (en) Method and apparatus for forming page map to present internet data meaningful to management and business operation
JP2009181459A (ja) アクセス解析装置及びアクセス解析方法及びアクセス解析プログラム
CN111858255A (zh) 基于屏幕截图的用户行为采集方法及相关设备
EP1696339A2 (en) System and method for testing data format using targeted variant input
Sams et al. E-research applications for tracking online socio-political capital in the Asia-Pacific region
US20040172253A1 (en) Capture and playback web automation tool
US11716275B1 (en) Assistant for automatic generation of server load test scripts
CN108737328A (zh) 一种浏览器用户代理识别方法、系统及装置
JP2009157771A (ja) 画面表示用情報提供装置、画面表示用情報提供方法、及びプログラム
JP4734454B2 (ja) システム分析プログラム、システム分析方法およびシステム分析装置
CN104011718B (zh) 用于选择识别的消息组的方法、计算机可读介质和计算机
US20060155817A1 (en) Web services integration systems and methods
US7003584B1 (en) Apparatus and method for accessing request header information using a transcoding filter servlet
CN115277657A (zh) 一种数据库协议运维的方法及设备
JP2007035053A (ja) 異なる端末器間のセッション保持方法
JP5322972B2 (ja) ウェブ画面復元装置及びウェブ画面復元方法及びウェブ画面復元プログラム

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