CN111212137A - 由防火墙执行的点对点数据传输的识别方法和装置 - Google Patents

由防火墙执行的点对点数据传输的识别方法和装置 Download PDF

Info

Publication number
CN111212137A
CN111212137A CN201911425724.XA CN201911425724A CN111212137A CN 111212137 A CN111212137 A CN 111212137A CN 201911425724 A CN201911425724 A CN 201911425724A CN 111212137 A CN111212137 A CN 111212137A
Authority
CN
China
Prior art keywords
list
address
port
port identification
destination
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
CN201911425724.XA
Other languages
English (en)
Other versions
CN111212137B (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.)
Qax Technology Group Inc
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qax Technology Group Inc
Secworld Information Technology Beijing 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 Qax Technology Group Inc, Secworld Information Technology Beijing Co Ltd filed Critical Qax Technology Group Inc
Priority to CN201911425724.XA priority Critical patent/CN111212137B/zh
Publication of CN111212137A publication Critical patent/CN111212137A/zh
Application granted granted Critical
Publication of CN111212137B publication Critical patent/CN111212137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL

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)
  • Computer And Data Communications (AREA)

Abstract

本公开提供了一种由防火墙执行的点对点数据传输的识别方法,包括:获取用户端向应用服务器发起的获取指定资源的获取请求,基于获取请求,获取应用服务器的IP地址和端口标识,在应用服务器的IP地址和端口标识存在于第一名单的情况下,获取应用服务器返回给用户端的目的节点列表,目的节点列表中包括存储有指定资源的至少一个节点的IP地址和端口标识,将目的节点列表中的至少一个节点的IP地址和端口标识添加到第二名单中,监听多个用户端发起的会话请求,确定与会话请求对应的目的IP地址和端口标识是否存在于第二名单中,以及在与会话请求对应的目的IP地址和端口标识存在于第二名单中的情况下,确定该会话为点对点的数据传输。

Description

由防火墙执行的点对点数据传输的识别方法和装置
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种由防火墙执行的点对点数据传输的识别方法、装置、计算机系统和计算机可读存储介质。
背景技术
在基于点对点(Peer to Peer,简称P2P)的数据传输系统中,数据资源被分散到每个网络节点上,各网络节点间可以共享资源。这些资源能够被网络中的其他对等节点直接访问,而无需经过服务器等中间节点进行中转。
由于网络节点可以直接交互数据资源,降低了服务器的中转压力。因此,基于P2P协议的各类应用越来越广泛地存在于日常生活和工作等诸多场景中。
然而,基于P2P的数据传输在给用户带来方便的同时,也逐渐演变成网络宽带的杀手,极易造成网络拥堵,严重影响网络服务质量。因此,在相关技术中,通常会对基于P2P的数据传输进行管控,降低基于P2P的数据传输对网络宽带的占用,减轻网络负担,提高网络性能。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:相关技术难以识别数据传输是否为基于P2P的数据传输,从而无法针对基于P2P的数据传输进行有效管控。
发明内容
有鉴于此,本公开提供了一种由防火墙执行的点对点数据传输的识别方法和装置。
本公开的一个方面提供了一种由防火墙执行的点对点数据传输的识别方法,所述防火墙连接至多个用户端,所述方法包括:获取用户端向应用服务器发起的获取指定资源的获取请求,基于所述获取请求,获取所述应用服务器的IP地址和端口标识,在所述应用服务器的IP地址和端口标识存在于第一名单的情况下,获取所述应用服务器返回给所述用户端的目的节点列表,所述目的节点列表中包括存储有所述指定资源的至少一个节点的IP地址和端口标识,将所述目的节点列表中的至少一个节点的IP地址和端口标识添加到第二名单中,监听所述多个用户端发起的会话请求,确定与会话请求对应的目的IP地址和端口标识是否存在于所述第二名单中,以及在与所述会话请求对应的目的IP地址和端口标识存在于所述第二名单中的情况下,确定该会话为点对点的数据传输。
根据本公开的实施例,所述方法还包括:在所述应用程序服务器的IP地址和端口标识存在于第一名单的情况下,将与所述获取请求对应的源IP地址和端口标识,添加到第三名单中。
根据本公开的实施例,所述方法还包括:在与所述会话请求对应的目的IP地址和端口标识存在于所述第二名单中的情况下,将与所述会话请求对应的源IP地址和端口标识,添加到第三名单中。、
根据本公开的实施例,所述方法还包括:监听所述多个用户端发起的会话请求,确定与会话请求对应的源IP地址和端口标识是否存在于第三名单中,在与所述会话请求对应的源IP地址和端口标识存在于所述第三名单中的情况下,确定该会话为点对点的数据传输。
根据本公开的实施例,所述方法还包括:设置分别与所述第二名单中的目的IP地址和端口标识对应的计时器,响应于所述目的IP地址和端口标识被添加到第二名单,所述计时器开始计时,当计时器计满预定时段时,将与所述计时器对应的目的IP地址和端口标识从所述第二名单中删除,以及在要添加的节点的IP地址和端口标识已经存在于所述第二名单的情况下,将与所述节点的IP地址和端口标识对应的计时器复位。
根据本公开的实施例,所述方法还包括:设置分别与所述第三名单中的源IP地址和端口标识对应的计时器,响应于所述源IP地址和端口标识被添加到第三名单,所述计时器开始计时,当计时器计满预定时段时,将与所述计时器对应的源IP地址和端口标识从所述第三名单中删除,以及在要添加的源IP地址和端口标识已经存在于所述第三名单的情况下,将与所述源IP地址和端口标识对应的计时器复位。
本公开的另一个方面提供了一种点对点数据传输的识别装置,包括第一获取模块、第二获取模块、第三获取模块、第一添加模块、第一确定模块和第二确定模块。其中,第一获取模块用于获取用户端向应用服务器发起的获取指定资源的获取请求。第二获取模块用于基于所述获取请求,获取所述应用服务器的IP地址和端口标识。第三获取模块用于在所述应用服务器的IP地址和端口标识存在于第一名单的情况下,获取所述应用服务器返回给所述用户端的目的节点列表,所述目的节点列表中包括存储有所述指定资源的至少一个节点的IP地址和端口标识。第一添加模块用于将所述目的节点列表中的至少一个节点的IP地址和端口标识添加到第二名单中。第一确定模块用于监听所述多个用户端发起的会话请求,确定与会话请求对应的目的IP地址和端口标识是否存在于所述第二名单中。第二确定模块用于在与所述会话请求对应的目的IP地址和端口标识存在于所述第二名单中的情况下,确定该会话为点对点的数据传输。
根据本公开的实施例,所述装置还包括:第二添加模块,用于在所述应用程序服务器的IP地址和端口标识存在于第一名单的情况下,将与所述获取请求对应的源IP地址和端口标识,添加到第三名单中。
根据本公开的实施例,所述装置还包括:第三添加模块,用于在与所述会话请求对应的目的IP地址和端口标识存在于所述第二名单中的情况下,将与所述会话请求对应的源IP地址和端口标识,添加到第三名单中。
根据本公开的实施例,所述装置还包括:第三确定模块,用于监听所述多个用户端发起的会话请求,确定与会话请求对应的源IP地址和端口标识是否存在于第三名单中,以及第四确定模块,用于在与所述会话请求对应的源IP地址和端口标识存在于所述第三名单中的情况下,确定该会话为点对点的数据传输。
根据本公开的实施例,所述装置还包括第一设置模块、第一计时模块、第一删除模块和第一复位模块。其中,第一设置模块用于设置分别与所述第二名单中的目的IP地址和端口标识对应的计时器。第一计时模块用于响应于所述目的IP地址和端口标识被添加到第二名单,所述计时器开始计时。第一删除模块用于当计时器计满预定时段时,将与所述计时器对应的目的IP地址和端口标识从所述第二名单中删除。第一复位模块用于在要添加的节点的IP地址和端口标识已经存在于所述第二名单的情况下,将与所述节点的IP地址和端口标识对应的计时器复位。
根据本公开的实施例,所述装置还包括第二设置模块、第二计时模块、第二删除模块和第二复位模块。其中,第二设置模块用于设置分别与所述第三名单中的源IP地址和端口标识对应的计时器。第二计时模块用于响应于所述源IP地址和端口标识被添加到第三名单,所述计时器开始计时。第二删除模块用于当计时器计满预定时段时,将与所述计时器对应的源IP地址和端口标识从所述第三名单中删除。第二复位模块,用于在要添加的源IP地址和端口标识已经存在于所述第三名单的情况下,将与所述源IP地址和端口标识对应的计时器复位。
本公开的另一方面提供了一种计算机系统,包括:一个或多个处理器,以及计算机可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的点对点数据传输的识别方法和装置的应用场景;
图2示意性示出了根据本公开实施例的由防火墙执行的点对点数据传输的识别方法的流程图;
图3示意性示出了根据本公开另一实施例的由防火墙执行的点对点数据传输的识别方法的流程图;
图4示意性示出了根据本公开实施例的点对点数据传输的识别装置的框图;以及
图5示意性示出了根据本公开实施例的适于点对点数据传输的识别方法的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
本公开的实施例提供了一种由防火墙执行的点对点数据传输的识别方法,包括:获取用户端向应用服务器发起的获取指定资源的获取请求,基于获取请求,获取应用服务器的IP地址和端口标识,在该应用服务器的IP地址和端口标识存在于第一名单的情况下,获取应用服务器返回给用户端的目的节点列表,目的节点列表中包括存储有指定资源的至少一个节点的IP地址和端口标识,将目的节点列表中的至少一个节点的IP地址和端口标识添加到第二名单中,监听多个用户端发起的会话请求,确定与会话请求对应的目的IP地址和端口标识是否存在于第二名单中,以及在与会话请求对应的目的IP地址和端口标识存在于第二名单中的情况下,确定该会话为点对点的数据传输。
图1示意性示出了根据本公开实施例的点对点数据传输的识别方法和装置的应用场景100。
需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据本公开实施例的应用场景100可以包括用户端101、102、103、104,防火墙105和服务器106。用户端101、102、103、104,防火墙105和服务器106之间可以通过网络连接,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户端101、102、103、104可以是支持网络传输功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。根据本公开实施例,用户端101、102、103、104之间例如可以通过P2P传输数据。
防火墙105例如可以与用户端101、102、103、104连接,用户端101、102、103、104流入流出的网络通信和数据包都经过防火墙105。
服务器106可以是提供各种服务的服务器,例如对用户利用用户端101、102、103、104所发起的请求提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给用户端。
需要说明的是,本公开实施例所提供的点对点数据传输的识别方法一般可以由防火墙105执行。相应地,本公开实施例所提供的点对点数据传输的识别装置一般可以设置于防火墙105中。本公开实施例所提供的点对点数据传输的识别方法也可以由不同于防火墙105且能够与用户端101、102、103、104和/或防火墙105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的点对点数据传输的识别装置也可以设置于不同于防火墙105且能够与用户端101、102、103、104和/或防火墙105通信的服务器或服务器集群中。
应该理解,图1中的用户端、防火墙和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的用户端、防火墙和服务器。
图2示意性示出了根据本公开实施例的由防火墙执行的点对点数据传输的识别方法的流程图。
如图2所示,该方法包括操作S201~S206。根据本公开实施例,防火墙可以连接至多个用户端,例如,防火墙可以与防火墙内的多个用户端连接。该多个用户端之间可以实现点对点的数据传输,该多个用户端还可以与墙外的其他设备实现点对点的数据传输。本公开实施例的防火墙可以用于对与其连接的墙内的多个用户端的进行点对点传输的识别。
在操作S201,获取用户端向应用服务器发起的获取指定资源的获取请求。
根据本公开实施例,用户端可以向迅雷后台服务器或者暴风影音后台服务器发起下载指定资源的请求。
在操作S202,基于获取请求,获取应用服务器的IP地址和端口标识。
根据本公开实施例,防火墙可以获得用户端流出的请求包,并解析该请求包,确定该请求包对应的应用服务器的IP地址和端口标识。
可以理解,数据包的五元组包括源IP地址,源端口、目的IP地址、目的端口和传输协议。防火墙可以通过解析请求包确定请求包的五元组,从而得知该请求包的目的IP地址和目的端口。
在操作S203,在应用服务器的IP地址和端口标识存在于第一名单的情况下,获取应用服务器返回给用户端的目的节点列表,目的节点列表中包括存储有指定资源的至少一个节点的IP地址和端口标识。
在本公开实施例中,防火墙内可以存储有第一名单,第一名单中可以包含有多个应用程序对应的IP地址和端口。
可以理解,迅雷和暴风影音等应用程序通常支持用户端通过P2P实现资源下载。例如,该些应用程序通常会根据用户的请求返回一个节点列表,用户端可以直接连接该列表中的节点,通过P2P的数据传输形式获取指定资源。
因此,本公开实施例可以将该些应用程序的后台服务器的IP地址和端口信息存储在第一名单中,从而可以确定用户端发起的请求是否为针对该些应用程序的请求。
根据本公开实施例,获取迅雷或暴风影音等应用程序后台服务器的IP地址和端口标识可以是通过解析请求中的域名信息,确定该请求是否为针对该些应用程序的请求,若是,则可以将该请求对应的目的IP和目的端口存储于第一名单中。本公开实施例也可以通过其他方式获取该些应用程序后台服务器的IP地址和端口标识,本公开对此不做限定。
在本公开实施例中,若应用服务器的IP地址和端口标识存在于第一名单中,则认为用户端向迅雷或暴风影音等应用程序的后台服务器发起了下载指定资源的请求。因此,可以监听该应用服务器的IP地址和端口标识,获取其返回给用户端的目的节点列表,该目的节点列表中包括存储有指定资源的至少一个节点的IP地址和端口标识,以便用户端直接连接列表中的节点获取指定资源。
在操作S204,将目的节点列表中的至少一个节点的IP地址和端口标识添加到第二名单中。
根据本公开实施例,可以在目的节点列表是基于用户数据报协议(UserDatagramProtocol,简称UDP)传输的情况下,将目的节点列表中的至少一个节点的IP地址和端口标识添加到第二名单中。
在本公开实施例中,可以认为若应用服务器的IP地址和端口标识存在于第一名单中,则其返回的节点列表中的各节点的IP地址和端口标识可以用于后续与用户端实现针对指定资源的P2P数据传输。因此,可以将列表中的节点的IP地址和端口标识加入第二名单,以便后续判断。
根据本公开实施例,可以设置分别与第二名单中的IP地址和端口标识对应的计时器,响应于IP地址和端口标识被添加到第二名单,计时器开始计时,当计时器计满预定时段时,将与计时器对应的IP地址和端口标识从第二名单中删除,在要添加的节点的IP地址和端口标识已经存在于第二名单的情况下,将与节点的IP地址和端口标识对应的计时器复位。
可以理解,本公开实施例中的第二名单中的各IP地址和端口标识具有时效性,从而可以增加判断的准确性。
根据本公开实施例中,第二名单可以是数据表格式,各IP地址和端口标识可以作为关键词(key),与IP地址和端口标识对应的计时器(例如,计满时段可以为180秒)、预定传输协议(例如,TCP或UDP)可以作为值(value)存储在第二名单中。
在操作S205,监听多个用户端发起的会话请求,确定与会话请求对应的目的IP地址和端口标识是否存在于第二名单中。
根据本公开实施例,防火墙可以监听与其连接的所有用户端发起的会话请求,解析各会话请求,得到各会话请求对应的目的IP地址和端口标识,并判断该目的IP地址和端口标识是否存在于第二名单中。
可以理解,任何用户端通过连接应用服务器返回的列表中的节点的IP地址和端口标识,都可以获取到指定资源,都属于P2P的数据传输,因此本公开实施例可以监听所有与防火墙连接的用户端的会话请求。
在操作S206,在与会话请求对应的目的IP地址和端口标识存在于第二名单中的情况下,确定该会话为点对点的数据传输。
根据本公开实施例,若会话请求的五元组中的目的IP地址和端口标识存在于第二名单中,则认为发起该会话请求的用户端要通过P2P的数据传输形式从第二名单中的某节点的IP地址和端口标识获取某资源。则可以认为此次会话为点对点的数据传输,该次会话产生的流量为P2P流量。
本公开实施例通过第一名单确定应用服务器是否为迅雷或暴风影音等支持P2P下载的应用服务器,若是,则将该应用服务器返回的目的节点列表中的各节点的IP地址和端口标识加入到第二名单中,从而可以监听各用户端发起的会话请求,若该会话请求的目的IP地址和端口标识存在于第二名单中,则认为该用户端要直接访问该IP地址和端口标识以获得指定资源,从而确定此次会话为P2P的数据传输,该次会话产生的流量为P2P流量。本公开实施例可以通过识别会话请求的五元组来识别该次会话是否为点对点的数据传输,解决了相关技术中无法识别P2P流量,从而无法对其进行管控的问题。
图3示意性示出了根据本公开另一实施例的由防火墙执行的点对点数据传输的识别方法的流程图。
如图3所示,该方法包括操作S301~S304。
在操作S301,在应用程序服务器的IP地址和端口标识存在于第一名单的情况下,将与获取请求对应的源IP地址和端口标识,添加到第三名单中。
根据本公开实施例,若用户端发起的获取请求所对应的应用程序服务器的IP地址和端口标识存在于第一名单的情况下,还可以获取该用户端的IP地址和端口标识添加到第三名单中。
可以理解,由于UDP可以实现端口复用,因此,也可以通过用户端发起获取请求的IP地址和端口标识判断后续的对话是否为P2P数据传输。
在本公开实施例中,可以在防火墙无法解析应用服务器返回的目的节点列表的情况下,将该获取请求对应的源IP地址和端口标识(即,用户端的IP地址和端口标识)添加到第三名单中。
在操作S302,在与会话请求对应的目的IP地址和端口标识存在于第二名单中的情况下,将与会话请求对应的源IP地址和端口标识,添加到第三名单中。
根据本公开实施例,若会话请求对应的目的IP地址和端口标识存在于第二名单,则将该会话请求对应的源IP地址和端口标识(即,发起该会话请求的用户端的IP地址和端口标识)添加到第三名单中。
可以理解,用户端访问目的节点时,可能无法拿到完整的资源,目的节点可以指示用户端连接其他目的节点获取相关资源。由于UDP可以实现端口复用,因此,可以将连接过第二名单中的IP地址和端口标识的用户端的IP地址和端口标识添加到第三名单中,若该IP地址和端口标识发起其他会话请求,也认为是P2P数据传输。
在本公开实施例中,可以设置分别与第三名单中的IP地址和端口标识对应的计时器,响应于IP地址和端口标识被添加到第三名单,计时器开始计时,当计时器计满预定时段时,将与计时器对应的IP地址和端口标识从第三名单中删除,在要添加的IP地址和端口标识已经存在于第三名单的情况下,将与IP地址和端口标识对应的计时器复位。
可以理解,本公开实施例中的第三名单中的各IP地址和端口标识具有时效性,从而可以增加判断的准确性。
在操作S303,监听多个用户端发起的会话请求,确定与会话请求对应的源IP地址和端口标识是否存在于第三名单中。
根据本公开实施例,防火墙可以监听与其连接的所有用户端发起的会话请求,解析该会话请求,得到该会话请求对应的源IP和源端口(即,发起该会话请求的用户端的IP地址和端口标识),并确定该IP地址和端口标识是否存在于第三名单中。
在操作S304,在与会话请求对应的源IP地址和端口标识存在于第三名单中的情况下,确定该会话为点对点的数据传输。
根据本公开实施例,由于端口复用,若第三名单中的IP地址和端口标识作为源IP和源端口发起了会话请求,则可以认为此次会话为点对点的数据传输,该次会话产生的流量为P2P流量。
可以理解,在本公开实施例中,若会话请求的目的IP和目的端口存在于第二名单中,或会话请求的源IP和源端口存在于第三名单中,或会话请求的目的IP和目的端口存在于第二名单中且源IP和源端口存在于第三名单中,均可以认为此次会话为点对点的数据传输,该次会话产生的流量为P2P流量。
本公开实施例可以通过第一名单确定应用服务器是否为迅雷或暴风影音等支持P2P下载的应用服务器,若是,则将向该应用服务器发起请求的用户端的IP地址和端口标识加入到第三名单中,并且将向第二名单中的IP地址和端口标识发起会话的用户端的IP地址和端口标识也加入到第三名单中,从而可以监听各用户端发起的会话请求,若该会话请求的源IP和源端口存在于第三名单中,则认为此次会话为P2P的数据传输,该次会话产生的流量为P2P流量。本公开实施例可以通过识别会话请求的五元组来识别该次会话是否为点对点的数据传输,解决了相关技术中无法识别P2P流量,从而无法对其进行管控的问题。
图4示意性示出了根据本公开实施例的点对点数据传输的识别装置400的框图。
如图4所示,该装置400包括第一获取模块410、第二获取模块420、第三获取模块430、第一添加模块440、第一确定模块450、第二确定模块460。
第一获取模块410用于获取用户端向应用服务器发起的获取指定资源的获取请求。根据本公开实施例,第一获取模块410例如可以执行参考图2描述的操作S201的方法,在此不再赘述。
第二获取模块420用于基于获取请求,获取应用服务器的IP地址和端口标识。根据本公开实施例,第二获取模块420例如可以执行参考图2描述的操作S202的方法,在此不再赘述。
第三获取模块430用于在应用服务器的IP地址和端口标识存在于第一名单的情况下,获取应用服务器返回给所述用户端的目的节点列表,目的节点列表中包括存储有指定资源的至少一个节点的IP地址和端口标识。根据本公开实施例,第三获取模块430例如可以执行参考图2描述的操作S203的方法,在此不再赘述。
第一添加模块440用于将目的节点列表中的至少一个节点的IP地址和端口标识添加到第二名单中。根据本公开实施例,第一添加模块440例如可以执行参考图2描述的操作S204的方法,在此不再赘述。
第一确定模块450用于监听多个用户端发起的会话请求,确定与会话请求对应的目的IP地址和端口标识是否存在于第二名单中。根据本公开实施例,第一确定模块450例如可以执行参考图2描述的操作S205的方法,在此不再赘述。
第二确定模块460用于在与会话请求对应的目的IP地址和端口标识存在于第二名单中的情况下,确定该会话为点对点的数据传输。根据本公开实施例,第二确定模块460例如可以执行参考图2描述的操作S206的方法,在此不再赘述。
根据本公开实施例,装置400还包括:第二添加模块,用于在应用程序服务器的IP地址和端口标识存在于第一名单的情况下,将与获取请求对应的源IP地址和端口标识,添加到第三名单中。
根据本公开实施例,装置400还包括:第三添加模块,用于在与会话请求对应的目的IP地址和端口标识存在于第二名单中的情况下,将与会话请求对应的源IP地址和端口标识,添加到第三名单中。
根据本公开实施例,装置400还包括:第三确定模块,用于监听多个用户端发起的会话请求,确定与会话请求对应的源IP地址和端口标识是否存在于第三名单中。
根据本公开实施例,装置400还包括:第四确定模块,用于在与会话请求对应的源IP地址和端口标识存在于第三名单中的情况下,确定该会话为点对点的数据传输。
根据本公开实施例,装置400还包括:第一设置模块,用于设置分别与第二名单中的目的IP地址和端口标识对应的计时器,第一计时模块,用于响应于目的IP地址和端口标识被添加到第二名单,计时器开始计时,第一删除模块,用于当计时器计满预定时段时,将与计时器对应的目的IP地址和端口标识从第二名单中删除,以及第一复位模块,用于在要添加的节点的IP地址和端口标识已经存在于第二名单的情况下,将与节点的IP地址和端口标识对应的计时器复位。
根据本公开实施例,装置400还包括:第二设置模块,用于设置分别与第三名单中的源IP地址和端口标识对应的计时器,第二计时模块,用于响应于源IP地址和端口标识被添加到第三名单,计时器开始计时,第二删除模块,用于当计时器计满预定时段时,将与计时器对应的源IP地址和端口标识从第三名单中删除,以及第二复位模块,用于在要添加的源IP地址和端口标识已经存在于第三名单的情况下,将与源IP地址和端口标识对应的计时器复位。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开实施例的适于点对点数据传输的识别方法的计算机系统的方框图。图5示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,根据本公开实施例的计算机系统500包括处理器501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行参考图2描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 503中,存储有系统500操作所需的各种程序和数据。处理器501、ROM 502以及RAM 503通过总线504彼此相连。处理器501通过执行ROM 502和/或RAM 503中的程序来执行以上参考图2描述的各种操作。需要注意,所述程序也可以存储在除ROM 502和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行以上参考图2描述的各种操作。
根据本公开的实施例,系统500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。系统500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
根据本公开的实施例,上文参考流程图描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。根据本公开的实施例,计算机可读介质可以包括上文描述的ROM 502和/或RAM 503和/或ROM 502和RAM 503以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行如上所述的方法。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (10)

1.一种由防火墙执行的点对点数据传输的识别方法,所述防火墙连接至多个用户端,所述方法包括:
获取用户端向应用服务器发起的获取指定资源的获取请求;
基于所述获取请求,获取所述应用服务器的IP地址和端口标识;
在所述应用服务器的IP地址和端口标识存在于第一名单的情况下,获取所述应用服务器返回给所述用户端的目的节点列表,所述目的节点列表中包括存储有所述指定资源的至少一个节点的IP地址和端口标识;
将所述目的节点列表中的至少一个节点的IP地址和端口标识添加到第二名单中;
监听所述多个用户端发起的会话请求,确定与会话请求对应的目的IP地址和端口标识是否存在于所述第二名单中;以及
在与所述会话请求对应的目的IP地址和端口标识存在于所述第二名单中的情况下,确定该会话为点对点的数据传输。
2.根据权利要求1所述的方法,还包括:
在所述应用程序服务器的IP地址和端口标识存在于第一名单的情况下,将与所述获取请求对应的源IP地址和端口标识,添加到第三名单中。
3.根据权利要求1所述的方法,还包括:
在与所述会话请求对应的目的IP地址和端口标识存在于所述第二名单中的情况下,将与所述会话请求对应的源IP地址和端口标识,添加到第三名单中。
4.根据权利要求2或3所述的方法,还包括:
监听所述多个用户端发起的会话请求,确定与会话请求对应的源IP地址和端口标识是否存在于第三名单中;
在与所述会话请求对应的源IP地址和端口标识存在于所述第三名单中的情况下,确定该会话为点对点的数据传输。
5.根据权利要求1所述的方法,还包括:
设置分别与所述第二名单中的目的IP地址和端口标识对应的计时器;
响应于所述目的IP地址和端口标识被添加到第二名单,所述计时器开始计时;
当计时器计满预定时段时,将与所述计时器对应的目的IP地址和端口标识从所述第二名单中删除;以及
在要添加的节点的IP地址和端口标识已经存在于所述第二名单的情况下,将与所述节点的IP地址和端口标识对应的计时器复位。
6.根据权利要求2或3所述的方法,还包括:
设置分别与所述第三名单中的源IP地址和端口标识对应的计时器;
响应于所述源IP地址和端口标识被添加到第三名单,所述计时器开始计时;
当计时器计满预定时段时,将与所述计时器对应的源IP地址和端口标识从所述第三名单中删除;以及
在要添加的源IP地址和端口标识已经存在于所述第三名单的情况下,将与所述源IP地址和端口标识对应的计时器复位。
7.一种点对点数据传输的识别装置,包括:
第一获取模块,用于获取用户端向应用服务器发起的获取指定资源的获取请求;
第二获取模块,用于基于所述获取请求,获取所述应用服务器的IP地址和端口标识;
第三获取模块,用于在所述应用服务器的IP地址和端口标识存在于第一名单的情况下,获取所述应用服务器返回给所述用户端的目的节点列表,所述目的节点列表中包括存储有所述指定资源的至少一个节点的IP地址和端口标识;
第一添加模块,用于将所述目的节点列表中的至少一个节点的IP地址和端口标识添加到第二名单中;
第一确定模块,用于监听所述多个用户端发起的会话请求,确定与会话请求对应的目的IP地址和端口标识是否存在于所述第二名单中;以及
第二确定模块,用于在与所述会话请求对应的目的IP地址和端口标识存在于所述第二名单中的情况下,确定该会话为点对点的数据传输。
8.一种计算机系统,包括:
一个或多个处理器;
计算机可读存储介质,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至6中任一项所述的方法。
10.一种计算机程序产品,包括计算机可读指令,其中,所述计算机可读指令被执行时用于执行根据权利要求1-6中任一项所述的方法。
CN201911425724.XA 2019-12-31 2019-12-31 由防火墙执行的点对点数据传输的识别方法和装置 Active CN111212137B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911425724.XA CN111212137B (zh) 2019-12-31 2019-12-31 由防火墙执行的点对点数据传输的识别方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911425724.XA CN111212137B (zh) 2019-12-31 2019-12-31 由防火墙执行的点对点数据传输的识别方法和装置

Publications (2)

Publication Number Publication Date
CN111212137A true CN111212137A (zh) 2020-05-29
CN111212137B CN111212137B (zh) 2023-01-17

Family

ID=70788498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911425724.XA Active CN111212137B (zh) 2019-12-31 2019-12-31 由防火墙执行的点对点数据传输的识别方法和装置

Country Status (1)

Country Link
CN (1) CN111212137B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383829A (zh) * 2008-10-17 2009-03-11 杭州华三通信技术有限公司 一种流识别方法及带宽管理设备
CN101442541A (zh) * 2008-12-30 2009-05-27 北京畅讯信通科技有限公司 P2p应用加密流量的识别方法
CN101909077A (zh) * 2010-07-09 2010-12-08 北京邮电大学 一种对等业务的识别方法、装置及接入网
CN102035750A (zh) * 2010-12-31 2011-04-27 杭州华三通信技术有限公司 点对点流量识别方法及装置
US20120173712A1 (en) * 2011-01-04 2012-07-05 Sangfor Networks Company Limited Method and device for identifying p2p application connections
CN102624878A (zh) * 2012-02-23 2012-08-01 汉柏科技有限公司 基于dns协议识别p2p协议的方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383829A (zh) * 2008-10-17 2009-03-11 杭州华三通信技术有限公司 一种流识别方法及带宽管理设备
CN101442541A (zh) * 2008-12-30 2009-05-27 北京畅讯信通科技有限公司 P2p应用加密流量的识别方法
CN101909077A (zh) * 2010-07-09 2010-12-08 北京邮电大学 一种对等业务的识别方法、装置及接入网
CN102035750A (zh) * 2010-12-31 2011-04-27 杭州华三通信技术有限公司 点对点流量识别方法及装置
US20120173712A1 (en) * 2011-01-04 2012-07-05 Sangfor Networks Company Limited Method and device for identifying p2p application connections
CN102624878A (zh) * 2012-02-23 2012-08-01 汉柏科技有限公司 基于dns协议识别p2p协议的方法及系统

Also Published As

Publication number Publication date
CN111212137B (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
CN109729040B (zh) 协议的选择的方法、设备以及计算机可读介质
CN113132489A (zh) 下载文件的方法、装置、计算设备和介质
US9780994B2 (en) Notification normalization
CN113382062B (zh) 一种数据传输方法、装置和系统
CN108833251B (zh) 用于控制网络互联的方法和装置
US20170318112A1 (en) Multilevel redirection in a virtual desktop infrastructure environment
CN110177128B (zh) 数据传输系统及其建立vpn连接的方法、终端、vpn代理
US20180295062A1 (en) System and method for efficient traffic shaping and quota enforcement in a cluster environment
CN112751812A (zh) 应用协议自适配的方法和装置
CN111726400A (zh) 反向连接的方法、装置和服务端系统
WO2024021405A1 (zh) 一种数据传输系统和方法
CN115297098B (zh) 边缘服务获取方法和装置、边缘计算系统、介质、设备
CN113595927A (zh) 一种旁路模式下镜像流量的处理方法和装置
CN112910793B (zh) 用于七层负载均衡中连接复用的方法和负载均衡器
CN110913270B (zh) 直播方法和装置
CN114513465A (zh) 负载均衡方法、负载均衡装置、电子设备和存储介质
CN109471713B (zh) 用于查询信息的方法和装置
CN107222365B (zh) 数据处理方法、装置及服务器
CN111212137B (zh) 由防火墙执行的点对点数据传输的识别方法和装置
US20190222642A1 (en) Decentralized Discovery Across Different Networks
CN107547437B (zh) 应用识别方法及装置
CN115766821A (zh) 基于反向连接的远程过程调用方法及装置
CN113285920B (zh) 业务访问方法、装置、设备及存储介质
CN112769960B (zh) 一种基于Nginx服务器的主动流量控制方法及系统
CN112491066B (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
CB02 Change of applicant information

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant after: QAX Technology Group Inc.

Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd.

Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant before: QAX Technology Group Inc.

Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant