CN109831530B - 一种基于ftp下载的流量识别方法及装置 - Google Patents
一种基于ftp下载的流量识别方法及装置 Download PDFInfo
- Publication number
- CN109831530B CN109831530B CN201910196203.5A CN201910196203A CN109831530B CN 109831530 B CN109831530 B CN 109831530B CN 201910196203 A CN201910196203 A CN 201910196203A CN 109831530 B CN109831530 B CN 109831530B
- Authority
- CN
- China
- Prior art keywords
- ftp
- message
- type
- ftp message
- cache
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种基于FTP下载的流量识别方法及装置,所述方法中,先识别FTP报文中的第一类FTP报文,根据第一类FTP报文相对应的第一下载信息,判断多线程缓存中是否存在与所述第一下载信息相对应的缓存,若存在,说明第一类FTP报文对应的文件已经在传输过程中,若与第一下载信息相对应的缓存没有被识别为客户端下载时产生的缓存,统计与所述第一下载信息相对应的缓存的数量;若与第一下载信息相对应的缓存的数量大于预设阈值,说明该第一类FTP报文对应的文件传输为多线程传输,从而确定第一类FTP报文为客户端下载时产生的报文,解决了现有技术中,无法识别客户端下载大文件时,大文件传输过程中产生的流量问题。
Description
技术领域
本申请涉及流量管控技术领域,具体涉及一种基于FTP下载的流量识别方法及装置。
背景技术
随着网络技术的发展,网络用户对大文件传输的需求逐渐增多。目前,大文件传输方式主要有HTTP、FTP和P2P等,其中,FTP(File Transfer Protocol,文件传输协议)是应用较为广泛的一种大文件传输方式。
FTP采用客户端-服务器模式,客户端采用FTP下载大文件时,主要有两个阶段,在第一阶段中,客户端与资源服务器建立连接,在资源服务器上获取该大文件的存储地址,在第二阶段中,客户端与FTP服务器建立连接,FTP服务器将该大文件传输至客户端。客户端采用FTP下载大文件过程中产生较大的流量,这些流量需要占用大量带宽,一旦占用带宽过大,可能会影响网络用户正常上网,因此,需要对客户端下载时产生的流量进行管控。
对客户端下载时产生的流量进行管控的基础,是先将客户端下载时产生的流量识别出来。客户端下载大文件的第一阶段中,需要向资源服务器发送资源查询请求,资源查询请求以HTTP方式进行,即,客户端向资源服务器发送资源查询报文,通过判断资源查询报文中的host字段是否为该客户端域名,即可识别资源查询报文。但是,客户端下载大文件的第二阶段中,即大文件传输过程中,客户端发送的报文无明显客户端特征,因此,如何识别客户端在大文件传输过程中的流量是目前亟需解决的问题。
发明内容
本申请提供一种基于FTP下载的流量识别方法及装置,以解决现有技术中,无法识别客户端下载大文件时,大文件传输过程中产生的流量问题。
本申请的第一方面,提供一种基于FTP下载的流量识别方法,所述方法应用于流量识别装置,所述流量识别装置设置于客户端和FTP服务器之间,所述方法包括:
获取客户端发送的FTP报文;
判断所述FTP报文是否为第一类FTP报文,所述第一类FTP报文为获取到第一下载信息的FTP报文,所述第一下载信息用于控制所述FTP服务器与所述客户端建立连接,所述连接用于传输所述第一下载信息对应的文件;
若所述FTP报文是第一类FTP报文,则根据与所述第一类FTP报文相对应的第一下载信息,判断多线程缓存中是否存在与所述第一下载信息相对应的缓存;
若所述多线程缓存中存在与所述第一下载信息相对应的缓存,判断与所述第一下载信息相对应的缓存是否已经被识别为客户端下载时产生的缓存;
若与所述第一下载信息相对应的缓存没有被识别为客户端下载时产生的缓存,统计与所述第一下载信息相对应的缓存的数量;
判断与所述第一下载信息相对应的缓存的数量是否大于预设阈值;
若与所述第一下载信息相对应的缓存的数量大于所述预设阈值,确定所述第一类FTP报文为客户端下载时产生的报文。
可选的,判断所述FTP报文是否为第一类FTP报文,包括:
确定预设时间范围内是否存在资源查询请求;
若预设时间范围内存在资源查询请求,判断所述FTP报文是否为第一类FTP报文。
可选的,确定预设时间范围内是否存在资源查询请求,包括:
查看最近一次资源查询报文的记录时刻;
根据当前时刻与所述资源查询报文的记录时刻的间隔是否在所述预设时间范围内,确定所述预设时间范围内是否存在资源查询请求,其中,若当前时刻与所述资源查询报文的记录时刻的间隔在所述预设时间范围内,则确定所述预设时间范围内存在资源查询请求,若当前时刻与所述资源查询报文的记录时刻的间隔不在所述预设时间范围内,则确定所述预设时间范围内不存在资源查询请求。
可选的,所述方法还包括:
若所述FTP报文不是第一类FTP报文,则判断所述FTP报文是否为第二类FTP报文,所述第二类FTP报文为基于所述第一下载信息,获取到第二下载信息的FTP报文,所述第二下载信息用于指示所述FTP服务器将所述第二下载信息对应的文件传输至所述客户端,其中,所述第二下载信息与所述第一下载信息对应相同的文件;
若所述FTP报文为第二类FTP报文,判断所述第二类FTP报文对应的第一类FTP报文是否已经被识别为客户端下载时产生的报文;
若所述第二类FTP报文对应的第一类FTP报文没有被识别为客户端下载时产生的报文,根据所述第二类FTP报文相对应的第二下载信息,判断多线程缓存中是否存在与所述第二下载信息相对应的缓存;
若所述多线程缓存中存在与所述第二下载信息相对应的缓存,确定所述第二类FTP报文为客户端下载时产生的报文。
本申请的第二方面,提供一种基于FTP下载的流量识别装置,所述流量识别装置设置于客户端和FTP服务器之间,所述流量识别装置包括:
获取模块,用于获取客户端发送的FTP报文;
第一判断模块,用于判断所述FTP报文是否为第一类FTP报文,所述第一类FTP报文为获取到第一下载信息的FTP报文,所述第一下载信息用于控制所述FTP服务器与所述客户端建立连接,所述连接用于传输所述第一下载信息对应的文件;
第二判断模块,用于若所述第一判断模块确定所述FTP报文是第一类FTP报文,则根据与所述第一类FTP报文相对应的第一下载信息,判断多线程缓存中是否存在与所述第一下载信息相对应的缓存;
第三判断模块,用于若所述第二判断模块确定所述多线程缓存中存在与所述第一下载信息相对应的缓存,判断与所述第一下载信息相对应的缓存是否已经被识别为客户端下载时产生的缓存;
统计模块,用于若所述第三判断模块确定与所述第一下载信息相对应的缓存没有被识别为客户端下载时产生的缓存,统计与所述第一下载信息相对应的缓存的数量;
第四判断模块,用于判断与所述第一下载信息相对应的缓存的数量是否大于预设阈值;
第一确定模块,用于若所述第四判断模块确定与所述第一下载信息相对应的缓存的数量大于所述预设阈值,确定所述第一类FTP报文为客户端下载时产生的报文。
可选的,所述第一判断模块包括:
第一判断单元,用于确定预设时间范围内是否存在资源查询请求;
第二判断单元,用于若所述第一判断单元确定预设时间范围内存在资源查询请求,判断所述FTP报文是否为第一类FTP报文。
可选的,所述第一判断单元包括:
查询子单元,用于查看最近一次资源查询报文的记录时刻;
判断子单元,用于根据当前时刻与所述资源查询报文的记录时刻的间隔是否在所述预设时间范围内,确定所述预设时间范围内是否存在资源查询请求,其中,若当前时刻与所述资源查询报文的记录时刻的间隔在所述预设时间范围内,则确定所述预设时间范围内存在资源查询请求,若当前时刻与所述资源查询报文的记录时刻的间隔不在所述预设时间范围内,则确定所述预设时间范围内不存在资源查询请求。
可选的,所述流量识别装置还包括:
第五判断模块,用于若所述第一判断模块确定所述FTP报文不是第一类FTP报文,则判断所述FTP报文是否为第二类FTP报文,所述第二类FTP报文为基于所述第一下载信息,获取到第二下载信息的FTP报文,所述第二下载信息用于指示所述FTP服务器将所述第二下载信息对应的文件传输至所述客户端,其中,所述第二下载信息与所述第一下载信息对应相同的文件;
第六判断模块,用于若所述第五判断模块确定所述FTP报文为第二类FTP报文,判断所述第二类FTP报文对应的第一类FTP报文是否已经被识别为客户端下载时产生的报文;
第七判断模块,用于若所述第六判断模块确定所述第二类FTP报文对应的第一类FTP报文没有被识别为客户端下载时产生的报文,根据所述第二类FTP报文相对应的第二下载信息,判断多线程缓存中是否存在与所述第二下载信息相对应的缓存;
第二确定模块,用于若所述第七判断模块确定所述多线程缓存中存在与所述第二下载信息相对应的缓存,确定所述第二类FTP报文为客户端下载时产生的报文。
由以上技术方案可知,本申请提供一种基于FTP下载的流量识别方法及装置,所述方法中,先识别FTP报文中的第一类FTP报文,根据第一类FTP报文相对应的第一下载信息,判断多线程缓存中是否存在与所述第一下载信息相对应的缓存,若存在,说明第一类FTP报文对应的文件已经在传输过程中,若与第一下载信息相对应的缓存没有被识别为客户端下载时产生的缓存,统计与所述第一下载信息相对应的缓存的数量;判断与第一下载信息相对应的缓存的数量是否大于预设阈值,若大于预设阈值,说明该第一类FTP报文对应的文件传输为多线程传输,从而确定第一类FTP报文为客户端下载时产生的报文,解决了现有技术中,无法识别客户端下载大文件时,大文件传输过程中产生的流量问题。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种基于FTP下载的流量识别方法;
图2为本申请实施例提供的又一种基于FTP下载的流量识别方法;
图3为本申请实施例提供的一种基于FTP下载的流量识别装置。
具体实施方式
为解决现有技术中,无法识别客户端下载大文件时,大文件传输过程中产生的流量问题,本申请提供一种基于FTP下载的流量识别方法及装置。
参照图1所示的工作流程图,本申请实施例提供一种基于FTP下载的流量识别方法,所述方法应用于流量识别装置,所述流量识别装置设置于客户端和FTP服务器之间,所述方法包括以下步骤:
步骤101,获取客户端发送的FTP报文。
通常情况下,客户端在进行浏览网页或下载文件等上网行为时,需要和多种服务器进行交互,交互过程中,客户端产生用于发送至服务器的报文,接收服务器反馈的报文,在此基础上,在客户端与服务器之间设置流量识别装置,流量识别装置能够获取客户端与服务器交互过程中产生的报文。基于FTP下载文件时,客户端向FTP服务器发送FTP报文,由于FTP报文具有一定的格式,根据FTP报文的格式,流量识别装置可以将客户端发送的FTP报文识别出来。
步骤102,判断所述FTP报文是否为第一类FTP报文,所述第一类FTP报文为获取到第一下载信息的FTP报文,所述第一下载信息用于控制所述FTP服务器与所述客户端建立连接,所述连接用于传输所述第一下载信息对应的文件。
基于FTP下载文件时,客户端与FTP服务器首先建立控制连接,FTP服务器通常使用端口号21与客户端建立控制连接,建立控制连接之后,客户端与FTP服务器就待下载文件名、传输方式以及客户端用于传输文件的端口号等进行协商,然后,客户端用于传输文件的端口号与FTP服务器用于传输文件的端口号(通常是端口号20)建立数据连接,以获取文件。
该步骤中,在建立控制连接之前,客户端通过资源查询请求已经获取到待下载文件名以及待下载文件的存储位置,客户端向FTP服务器发送的第一类FTP报文携带待下载文件名、源IP和目的IP等信息,将第一类FTP报文携带的待下载文件名、源IP和目的IP等信息作为第一下载信息,根据第一下载信息,客户端与FTP服务器建立控制连接。
在建立控制连接的过程中,客户端向FTP服务器发送的FTP报文具有固定特征,将具有该固定特征的FTP报文作为第一类FTP报文。例如,FTP报文中包含客户端用于建立控制连接的端口号,在下载文件过程中,用于建立控制连接的端口号始终固定,则将用于建立控制连接的端口号作为用于识别第一类FTP报文的固定特征,根据该固定特征,判断FTP报文是否为第一类FTP报文,若所述FTP报文是第一类FTP报文,则执行步骤103的操作。
步骤103,若所述FTP报文是第一类FTP报文,则根据与所述第一类FTP报文相对应的第一下载信息,判断多线程缓存中是否存在与所述第一下载信息相对应的缓存。
FTP服务器在接收到第一类FTP报文之后,将第一下载信息对应的文件传输至客户端的过程中,经过流量识别装置,流量识别装置也会缓存相应地文件。为了提高下载速度,缩短下载时间,客户端通常会采用多线程下载的方式下载文件,即,建立多个下载连接,客户端采用多线程下载的方式从单一FTP服务器下载一个文件时,相当于多个客户端同时从该FTP服务器下载同一文件的不同片段,各个片段下载完成后,再将多个片段拼接成文件,即完成文件的下载。
多线程下载相应地产生多线程缓存,各个文件的多线程缓存可以用第一下载信息中的一种或多种特征进行区分,例如,在本申请实施例中,利用第一下载信息中的待下载文件名,判断多线程缓存中是否存在与待下载文件名相对应的缓存,若存在,则执行步骤104的操作。
步骤104,若所述多线程缓存中存在与所述第一下载信息相对应的缓存,判断与所述第一下载信息相对应的缓存是否已经被识别为客户端下载时产生的缓存。
在利用本申请实施例识别FTP下载在文件传输中产生的流量时,一旦流量被识别为FTP下载在文件传输过程中产生的流量时,流量识别装置会对相应地多线程缓存作出标记,因此,每次识别缓存时,先确定该缓存是否已经被标记,如果已经被标记,说明该缓存在此之前已经被识别为客户端下载时产生的缓存,则无需继续识别;如果没有被标记,则执行步骤105的操作。
步骤105,若与所述第一下载信息相对应的缓存没有被识别为客户端下载时产生的缓存,统计与所述第一下载信息相对应的缓存的数量。
由于多线程缓存对应多个缓存,而同一文件的多个缓存与第一下载信息中的一种或多种特征相对应,例如,多个缓存均与第一下载信息中的待下载文件名相对应,则说明与待下载文件名相同的多个缓存均为下载该文件产生的缓存,统计缓存的数量即可。
步骤106,判断与所述第一下载信息相对应的缓存的数量是否大于预设阈值。
步骤107,若与所述第一下载信息相对应的缓存的数量大于所述预设阈值,确定所述第一类FTP报文为客户端下载时产生的报文。
本申请实施例中,预设阈值是预先设定的,例如,将预设阈值设为3,即,步骤105中统计的与第一下载信息中的待下载文件名相对应的缓存数量多于3个时,则确定客户端采用多线程下载的方式下载该文件,并且文件在传输过程中或者已经完成文件传输的任务,此时,则确定第一类FTP报文为客户端下载时产生的报文,客户端下载时产生的报文即文件传输过程中产生的流量,因此,解决了现有技术中,无法识别客户端下载文件时,文件传输过程中产生的流量问题。
步骤102中,判断所述FTP报文是否为第一类FTP报文,具体包括以下步骤:
步骤1021,确定预设时间范围内是否存在资源查询请求。
步骤1022,若预设时间范围内存在资源查询请求,判断所述FTP报文是否为第一类FTP报文。
本申请实施例中,客户端在和FTP服务器建立连接,并获取文件之前,先要进行资源查询请求,例如,利用迅雷客户端下载文件时,迅雷客户端先向资源服务器发送资源查询请求,以获取文件的存储位置,然后再与FTP服务器建立连接,从而获取文件。也就是说,资源查询请求与代表文件传输阶段的第一类FTP报文是相继产生的,正常情况下,资源查询请求之后较短时间范围内(比如2S)即产生第一类FTP报文,将该时间范围作为预设时间范围,若预设时间范围内没有资源查询请求,说明该FTP报文并不是文件传输阶段所产生的,因此,无需再判断该FTP报文是否为第一类FTP报文,则避免了后续的判断步骤;若预设时间范围内存在资源查询请求,说明该FTP报文是文件传输阶段所产生的,此时,再判断该FTP报文是否为第一类FTP报文。
步骤1021中,确定预设时间范围内是否存在资源查询请求,具体包括以下步骤:
步骤10211,查看最近一次资源查询报文的记录时刻。
本申请实施例中,客户端通过向资源服务器发送资源查询报文的形式进行资源查询请求,在此过程中,流量识别装置能够获取到客户端向资源服务器发送的资源查询报文,记录每次获取资源查询报文的时刻。
步骤10212,根据当前时刻与所述资源查询报文的记录时刻的间隔是否在所述预设时间范围内,确定所述预设时间范围内是否存在资源查询请求,其中,若当前时刻与所述资源查询报文的记录时刻的间隔在所述预设时间范围内,则确定所述预设时间范围内存在资源查询请求,若当前时刻与所述资源查询报文的记录时刻的间隔不在所述预设时间范围内,则确定所述预设时间范围内不存在资源查询请求。
参照图2所示的工作流程图,本申请实施例提供又一种基于FTP下载的流量识别方法,所述方法包括以下步骤:
步骤201,获取客户端发送的FTP报文。
步骤202,判断所述FTP报文是否为第一类FTP报文。
步骤203,若所述FTP报文不是第一类FTP报文,则判断所述FTP报文是否为第二类FTP报文,所述第二类FTP报文为基于所述第一下载信息,获取到第二下载信息的FTP报文,所述第二下载信息用于指示所述FTP服务器将所述第二下载信息对应的文件传输至所述客户端,其中,所述第二下载信息与所述第一下载信息对应相同的文件。
本申请实施例中,客户端与FTP建立控制连接之后,客户端与FTP服务器就传输方式以及客户端用于传输文件的端口号等进行协商,并取得协商结果。基于此,客户端用于传输文件的端口与FTP服务器用于传输文件的端口相连接,即,客户端与FTP服务器建立数据连接,在建立数据连接过程中,客户端向FTP服务器发送的FTP报文为第二类FTP报文,由于在第二类FTP报文的传输过程中,FTP服务器已经获取到待下载文件对应的资源,因此,第二类FTP报文中相对应的第二下载信息无需再指示待下载文件名,也就是说,第二下载信息不包含待下载文件名,但是,第二下载信息与第一下载信息对应的文件相同。将第二类FTP报文携带的源IP、目的IP以及客户端用于传输文件的端口号作为第二下载信息,根据第二下载信息,客户端与FTP服务器建立数据连接。
步骤204,若所述FTP报文为第二类FTP报文,判断所述第二类FTP报文对应的第一类FTP报文是否已经被识别为客户端下载时产生的报文。
本申请实施例中,客户端利用第一类FTP报文与FTP服务器建立控制连接,在建立控制连接之后,客户端与FTP服务器就客户端用于传输文件的端口号等进行协商,第二类FTP报文相对应的第二下载信息中包含客户端用于传输文件的端口号,因此,在下载同一文件过程中,用于建立控制连接的第一类FTP报文和用于建立数据连接的第二类FTP报文相对应。
该步骤中,若第二类FTP报文对应的第一类FTP报文已经被识别为客户端下载时产生的报文,即可确定该第二类FTP报文为客户端下载文件时产生的报文,无需进行后续的操作;若第二类FTP报文对应的第一类FTP报文没有被识别为客户端下载时产生的报文,则执行步骤205的操作。
步骤205,若所述第二类FTP报文对应的第一类FTP报文没有被识别为客户端下载时产生的报文,根据所述第二类FTP报文相对应的第二下载信息,判断多线程缓存中是否存在与所述第二下载信息相对应的缓存。
该步骤中,由于第二下载信息中没有待下载文件名,所以在查询多线程缓存时,只能用第二下载信息包含的源IP和目的IP查询。若多线程缓存中不存在与所述第二下载信息相对应的缓存,说明该第二类FTP报文不是客户端下载时产生的报文。若多线程缓存中存在与所述第二下载信息相对应的缓存,则执行步骤206的操作。
步骤206,若所述多线程缓存中存在与所述第二下载信息相对应的缓存,确定所述第二类FTP报文为客户端下载时产生的报文。
通常情况下,在识别出第一类FTP报文是否为客户端下载时产生的报文之后,默认与第一类FTP报文对应的第二类FTP报文与该第一类FTP报文的属性一致,即,若第一类FTP报文是客户端下载时产生的报文,则第一类FTP报文对应的第二类FTP报文也是客户端下载时产生的报文;若第一类FTP报文不是客户端下载时产生的报文,则第一类FTP报文对应的第二类FTP报文也不是客户端下载时产生的报文。
而本申请实施例为减少漏检,在流量识别装置没有识别出第一类FTP报文的情况下,仍然识别第二类FTP报文是否为客户端下载时产生的报文。客户端下载时产生的报文即文件传输过程中产生的流量,因此,解决了现有技术中,无法识别客户端下载文件时,文件传输过程中产生的流量问题。
本申请实施例中,步骤201至步骤202和步骤101至步骤102的具体操作过程一致,可相互参见,此处不再赘述。
参照图3所示的结构示意图,本申请实施例提供一种基于FTP下载的流量识别装置,所述流量识别装置设置于客户端和FTP服务器之间,所述流量识别装置包括:
获取模块100,用于获取客户端发送的FTP报文。
第一判断模块200,用于判断所述FTP报文是否为第一类FTP报文,所述第一类FTP报文为获取到第一下载信息的FTP报文,所述第一下载信息用于控制所述FTP服务器与所述客户端建立连接,所述连接用于传输所述第一下载信息对应的文件。
第二判断模块300,用于若所述第一判断模块确定所述FTP报文是第一类FTP报文,则根据与所述第一类FTP报文相对应的第一下载信息,判断多线程缓存中是否存在与所述第一下载信息相对应的缓存。
第三判断模块400,用于若所述第二判断模块确定所述多线程缓存中存在与所述第一下载信息相对应的缓存,判断与所述第一下载信息相对应的缓存是否已经被识别为客户端下载时产生的缓存。
统计模块500,用于若所述第三判断模块确定与所述第一下载信息相对应的缓存没有被识别为客户端下载时产生的缓存,统计与所述第一下载信息相对应的缓存的数量。
第四判断模块600,用于判断与所述第一下载信息相对应的缓存的数量是否大于预设阈值。
第一确定模块700,用于若所述第四判断模块确定与所述第一下载信息相对应的缓存的数量大于所述预设阈值,确定所述第一类FTP报文为客户端下载时产生的报文。
可选的,所述第一判断模块包括:
第一判断单元,用于确定预设时间范围内是否存在资源查询请求;
第二判断单元,用于若所述第一判断单元确定预设时间范围内存在资源查询请求,判断所述FTP报文是否为第一类FTP报文。
可选的,所述第一判断单元包括:
查询子单元,用于查看最近一次资源查询报文的记录时刻;
判断子单元,用于根据当前时刻与所述资源查询报文的记录时刻的间隔是否在所述预设时间范围内,确定所述预设时间范围内是否存在资源查询请求,其中,若当前时刻与所述资源查询报文的记录时刻的间隔在所述预设时间范围内,则确定所述预设时间范围内存在资源查询请求,若当前时刻与所述资源查询报文的记录时刻的间隔不在所述预设时间范围内,则确定所述预设时间范围内不存在资源查询请求。
可选的,所述流量识别装置还包括:
第五判断模块,用于若所述第一判断模块确定所述FTP报文不是第一类FTP报文,则判断所述FTP报文是否为第二类FTP报文,所述第二类FTP报文为基于所述第一下载信息,获取到第二下载信息的FTP报文,所述第二下载信息用于指示所述FTP服务器将所述第二下载信息对应的文件传输至所述客户端,其中,所述第二下载信息与所述第一下载信息对应相同的文件;
第六判断模块,用于若所述第五判断模块确定所述FTP报文为第二类FTP报文,判断所述第二类FTP报文对应的第一类FTP报文是否已经被识别为客户端下载时产生的报文;
第七判断模块,用于若所述第六判断模块确定所述第二类FTP报文对应的第一类FTP报文没有被识别为客户端下载时产生的报文,根据所述第二类FTP报文相对应的第二下载信息,判断多线程缓存中是否存在与所述第二下载信息相对应的缓存;
第二确定模块,用于若所述第七判断模块确定所述多线程缓存中存在与所述第二下载信息相对应的缓存,确定所述第二类FTP报文为客户端下载时产生的报文。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。
Claims (6)
1.一种基于FTP下载的流量识别方法,其特征在于,所述方法应用于流量识别装置,所述流量识别装置设置于客户端和FTP服务器之间,所述方法包括:
获取客户端发送的FTP报文;
判断所述FTP报文是否为第一类FTP报文,所述第一类FTP报文为获取到第一下载信息的FTP报文,所述第一下载信息用于控制所述FTP服务器与所述客户端建立连接,所述连接用于传输所述第一下载信息对应的文件;
若所述FTP报文是第一类FTP报文,则根据与所述第一类FTP报文相对应的第一下载信息,判断多线程缓存中是否存在与所述第一下载信息相对应的缓存;
若所述多线程缓存中存在与所述第一下载信息相对应的缓存,判断与所述第一下载信息相对应的缓存是否已经被识别为客户端下载时产生的缓存;
若与所述第一下载信息相对应的缓存没有被识别为客户端下载时产生的缓存,统计与所述第一下载信息相对应的缓存的数量;
判断与所述第一下载信息相对应的缓存的数量是否大于预设阈值;
若与所述第一下载信息相对应的缓存的数量大于所述预设阈值,确定所述第一类FTP报文为客户端下载时产生的报文;
若所述FTP报文不是第一类FTP报文,则判断所述FTP报文是否为第二类FTP报文,所述第二类FTP报文为基于所述第一下载信息,获取到第二下载信息的FTP报文,所述第二下载信息用于指示所述FTP服务器将所述第二下载信息对应的文件传输至所述客户端,其中,所述第二下载信息与所述第一下载信息对应相同的文件;
若所述FTP报文为第二类FTP报文,判断所述第二类FTP报文对应的第一类FTP报文是否已经被识别为客户端下载时产生的报文;
若所述第二类FTP报文对应的第一类FTP报文没有被识别为客户端下载时产生的报文,根据所述第二类FTP报文相对应的第二下载信息,判断多线程缓存中是否存在与所述第二下载信息相对应的缓存;
若所述多线程缓存中存在与所述第二下载信息相对应的缓存,确定所述第二类FTP报文为客户端下载时产生的报文;
确定预设时间范围内是否存在资源查询请求,包括:
查看最近一次资源查询报文的记录时刻;
根据当前时刻与所述资源查询报文的记录时刻的间隔是否在所述预设时间范围内,确定所述预设时间范围内是否存在资源查询请求,其中,若当前时刻与所述资源查询报文的记录时刻的间隔在所述预设时间范围内,则确定所述预设时间范围内存在资源查询请求,若当前时刻与所述资源查询报文的记录时刻的间隔不在所述预设时间范围内,则确定所述预设时间范围内不存在资源查询请求。
2.根据权利要求1所述的方法,其特征在于,判断所述FTP报文是否为第一类FTP报文,包括:
确定预设时间范围内是否存在资源查询请求;
若预设时间范围内存在资源查询请求,判断所述FTP报文是否为第一类FTP报文。
3.一种基于FTP下载的流量识别装置,其特征在于,所述流量识别装置设置于客户端和FTP服务器之间,所述流量识别装置包括:
获取模块,用于获取客户端发送的FTP报文;
第一判断模块,用于判断所述FTP报文是否为第一类FTP报文,所述第一类FTP报文为获取到第一下载信息的FTP报文,所述第一下载信息用于控制所述FTP服务器与所述客户端建立连接,所述连接用于传输所述第一下载信息对应的文件;
第二判断模块,用于若所述第一判断模块确定所述FTP报文是第一类FTP报文,则根据与所述第一类FTP报文相对应的第一下载信息,判断多线程缓存中是否存在与所述第一下载信息相对应的缓存;
第三判断模块,用于若所述第二判断模块确定所述多线程缓存中存在与所述第一下载信息相对应的缓存,判断与所述第一下载信息相对应的缓存是否已经被识别为客户端下载时产生的缓存;
统计模块,用于若所述第三判断模块确定与所述第一下载信息相对应的缓存没有被识别为客户端下载时产生的缓存,统计与所述第一下载信息相对应的缓存的数量;
第四判断模块,用于判断与所述第一下载信息相对应的缓存的数量是否大于预设阈值;
第一确定模块,用于若所述第四判断模块确定与所述第一下载信息相对应的缓存的数量大于所述预设阈值,确定所述第一类FTP报文为客户端下载时产生的报文。
4.根据权利要求3所述的流量识别装置,其特征在于,所述第一判断模块包括:
第一判断单元,用于确定预设时间范围内是否存在资源查询请求;
第二判断单元,用于若所述第一判断单元确定预设时间范围内存在资源查询请求,判断所述FTP报文是否为第一类FTP报文。
5.根据权利要求4所述的流量识别装置,其特征在于,所述第一判断单元包括:
查询子单元,用于查看最近一次资源查询报文的记录时刻;
判断子单元,用于根据当前时刻与所述资源查询报文的记录时刻的间隔是否在所述预设时间范围内,确定所述预设时间范围内是否存在资源查询请求,其中,若当前时刻与所述资源查询报文的记录时刻的间隔在所述预设时间范围内,则确定所述预设时间范围内存在资源查询请求,若当前时刻与所述资源查询报文的记录时刻的间隔不在所述预设时间范围内,则确定所述预设时间范围内不存在资源查询请求。
6.根据权利要求3所述的流量识别装置,其特征在于,所述流量识别装置还包括:
第五判断模块,用于若所述第一判断模块确定所述FTP报文不是第一类FTP报文,则判断所述FTP报文是否为第二类FTP报文,所述第二类FTP报文为基于所述第一下载信息,获取到第二下载信息的FTP报文,所述第二下载信息用于指示所述FTP服务器将所述第二下载信息对应的文件传输至所述客户端,其中,所述第二下载信息与所述第一下载信息对应相同的文件;
第六判断模块,用于若所述第五判断模块确定所述FTP报文为第二类FTP报文,判断所述第二类FTP报文对应的第一类FTP报文是否已经被识别为客户端下载时产生的报文;
第七判断模块,用于若所述第六判断模块确定所述第二类FTP报文对应的第一类FTP报文没有被识别为客户端下载时产生的报文,根据所述第二类FTP报文相对应的第二下载信息,判断多线程缓存中是否存在与所述第二下载信息相对应的缓存;
第二确定模块,用于若所述第七判断模块确定所述多线程缓存中存在与所述第二下载信息相对应的缓存,确定所述第二类FTP报文为客户端下载时产生的报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910196203.5A CN109831530B (zh) | 2019-03-15 | 2019-03-15 | 一种基于ftp下载的流量识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910196203.5A CN109831530B (zh) | 2019-03-15 | 2019-03-15 | 一种基于ftp下载的流量识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109831530A CN109831530A (zh) | 2019-05-31 |
CN109831530B true CN109831530B (zh) | 2022-03-22 |
Family
ID=66870139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910196203.5A Active CN109831530B (zh) | 2019-03-15 | 2019-03-15 | 一种基于ftp下载的流量识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109831530B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039309A (zh) * | 2006-03-16 | 2007-09-19 | 联想(北京)有限公司 | 链路共享服务装置以及通信方法 |
CN101127690A (zh) * | 2006-08-17 | 2008-02-20 | 王玉鹏 | 一种下一代网络业务流量识别方法 |
CN101656751A (zh) * | 2008-08-18 | 2010-02-24 | 北京数码大方科技有限公司 | 加速上传与下载文件的方法及其系统 |
CN101702677A (zh) * | 2009-11-18 | 2010-05-05 | 成都市华为赛门铁克科技有限公司 | 数据流量检测方法及装置 |
CN105100246A (zh) * | 2015-07-30 | 2015-11-25 | 北京慧点科技有限公司 | 一种基于下载资源名称的网络流量管控方法 |
-
2019
- 2019-03-15 CN CN201910196203.5A patent/CN109831530B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039309A (zh) * | 2006-03-16 | 2007-09-19 | 联想(北京)有限公司 | 链路共享服务装置以及通信方法 |
CN101127690A (zh) * | 2006-08-17 | 2008-02-20 | 王玉鹏 | 一种下一代网络业务流量识别方法 |
CN101656751A (zh) * | 2008-08-18 | 2010-02-24 | 北京数码大方科技有限公司 | 加速上传与下载文件的方法及其系统 |
CN101702677A (zh) * | 2009-11-18 | 2010-05-05 | 成都市华为赛门铁克科技有限公司 | 数据流量检测方法及装置 |
CN105100246A (zh) * | 2015-07-30 | 2015-11-25 | 北京慧点科技有限公司 | 一种基于下载资源名称的网络流量管控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109831530A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949253B2 (en) | Data forwarder for distributed data acquisition, indexing and search system | |
US9888089B2 (en) | Client side cache management | |
JP4938092B2 (ja) | エッジネットワークにおけるデータ配信方法、データ配信システム、および関連装置 | |
CN108429701B (zh) | 网络加速系统 | |
US7600014B2 (en) | Method and system for monitoring the performance of a distributed application | |
US9967315B2 (en) | Electronic device, storage medium and file transferring method | |
CN111124819B (zh) | 全链路监控的方法和装置 | |
US20050060425A1 (en) | Application-based autonomic connectivity | |
WO2013071747A1 (zh) | 一种获取文件的方法和装置 | |
US8490173B2 (en) | Unauthorized communication detection method | |
WO2018228234A1 (zh) | 视频缓存方法及视频缓存装置 | |
EP3338409A1 (fr) | Procédé de gestion dynamique d'un service réseau dans un réseau de communication | |
US11956300B2 (en) | Message switching | |
CN109471713B (zh) | 用于查询信息的方法和装置 | |
CN109831530B (zh) | 一种基于ftp下载的流量识别方法及装置 | |
KR101650829B1 (ko) | 대상을 획득하는 방법, 장치, 및 시스템 | |
US20130110945A1 (en) | Information processing apparatus and method therefor | |
CN110855786A (zh) | 针对网络数据请求的处理方法、设备及计算机存储介质 | |
CN111224891A (zh) | 一种基于动态学习三元组的流量应用识别系统及方法 | |
CN112866325A (zh) | 资源文件传输方法、装置、cdn中的上层及边缘节点 | |
CN108259576B (zh) | 一种软硬件实时信息传输系统和方法 | |
US20130024543A1 (en) | Methods for generating multiple responses to a single request message and devices thereof | |
KR101545001B1 (ko) | 웹 서비스의 품질을 측정하는 방법 및 서버 장치 | |
CN109688204B (zh) | 基于ndn网络的文件下载方法、节点、终端 | |
JP6787845B2 (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 |