CN113709001A - 一种在linux内核识别p2p协议的方法 - Google Patents
一种在linux内核识别p2p协议的方法 Download PDFInfo
- Publication number
- CN113709001A CN113709001A CN202111018425.1A CN202111018425A CN113709001A CN 113709001 A CN113709001 A CN 113709001A CN 202111018425 A CN202111018425 A CN 202111018425A CN 113709001 A CN113709001 A CN 113709001A
- Authority
- CN
- China
- Prior art keywords
- source port
- protocol
- port
- identifying
- data message
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Abstract
本发明涉及计算机网络安全技术领域,且公开了一种在linux内核识别p2p协议的方法,包括以下步骤:A:网卡接收到数据报文;B:数据报文进入netfilter框架处理;C:解析数据报文的源端口号,并查询该源端口;D:判断源端口是否已经存在,如果存在则更新源端口计数,否则新建一个hash节点,然后发送数据报文;E:判断是否达到p2p端口的阈值,如果已经达到则加入到p2p端口列表中,标明已经识别p2p协议,否则直接发送数据报文。本发明通过p2p端口特征统计,能够动态的识别出p2p协议流,为智能流控提供了基础,提高了用户上网体验。
Description
技术领域
本发明涉及计算机网络安全技术领域,具体为一种在linux内核识别p2p协议的方法。
背景技术
p2p协议,即Peer-to-peer,是一类允许一组用户互相连接并直接从用户硬盘上获取文件的网络,p2p是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点直接访问而无需经过中间实体。p2p的应用为网络带来的负面影响也不可忽视,比如:抢占大量网络带宽,有时抢占60%-80%的带宽,仅将剩余的少量带宽留给非P2P流量,使得Internet中非P2P流量不能正常传输,劣化了网络服务质量等。因此,为了确保其他正常服务,同时为了更好地发挥P2P技术的优势,需要识别P2P流量,并对识别的P2P流量进行限制。
传统的协议识别主要有两种方法:一种是基于扫描报文内容进行识别的技术,但不适用于加密和无关键字的应用,另一种识别方法是基于统计报文信息的数据模型进行的识别,但存在识别效率和精准度低的问题,而且p2p没有一个统一的标准或是协议,不同的p2p软件之间采用自己独特的P2P协议进行通信,也增加了识别的困难,造成了网络管理困难,不便于智能的控制流量,从而影响用户的上网体验,为此,我们提出了一种在linux内核识别p2p协议的方法。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种在linux内核识别p2p协议的方法,具备可以动态识别p2p协议的等优点,解决了现在技术中不便于智能的控制流量,影响用户的上网体验的问题。
(二)技术方案
为实现精准的识别p2p协议,智能的控制流量,优化用户上网体验的目的,本发明提供如下技术方案:一种在linux内核识别p2p协议的方法,包括以下步骤:
A:网卡接收到数据报文;
B:数据报文进入netfilter框架处理;
C:解析数据报文的源端口号,并查询该源端口;
D:判断源端口是否已经存在,如果存在则更新源端口计数,否则新建一个hash节点,然后发送数据报文;
E:判断是否达到p2p端口的阈值,如果已经达到则加入到p2p端口列表中,标明已经识别p2p协议,否则直接发送数据报文。
进一步的,步骤D中,通过统计分析数据流源端口,动态的识别p2p协议。
进一步的,步骤B中,netfilter框架为linux操作系统网络过滤子系统,并只针对新建连接的报文进行分析处理,连接跟踪状态为new状态。
进一步的,步骤C中,源端口为UDP协议的源端口,源端口是基于终端发起的上行数据报文。
进一步的,步骤D中,具体的判断步骤如下:
D1:在哈希表中查询源端口是否存在;
D2:如果源端口存在,更新源端口的计数,否则新建一个源端口哈希节点。
进一步的,步骤E中,具体的判断步骤如下:
E1:获取p2p协议阈值;
E2:判断数据流的源端口计数是否达到p2p协议的阈值,如果满足条件则标记该源端口为p2p端口;
E3:将识别的p2p端口加入到特征库中,用于识别p2p数据流。
(三)有益效果
与现有技术相比,本发明提供了一种在linux内核识别p2p协议的方法,具备以下有益效果:本发明通过p2p端口特征统计,能够动态的识别出p2p协议流,为智能流控提供了基础,将检测到的端口特征计入特征库中,增加不同p2p数据流的快速识别,有助于网络管理,提高了用户上网体验。
附图说明
图1为本发明提出的一种在linux内核识别p2p协议的方法的流程框图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,一种在linux内核识别p2p协议的方法,包括以下步骤:
A:网卡接收到数据报文;
B:数据报文进入netfilter框架处理,netfilter框架为linux操作系统网络过滤子系统,并只针对新建连接的报文进行分析处理,连接跟踪状态为new状态;
C:解析数据报文的源端口号,并查询该源端口,源端口为UDP协议的源端口,源端口是基于终端发起的上行数据报文;
D:判断源端口是否已经存在,如果存在则更新源端口计数,否则新建一个hash节点,然后发送数据报文,具体的判断步骤如下:
D1:在哈希表中查询源端口是否存在;
D2:如果源端口存在,更新源端口的计数,否则新建一个源端口哈希节点;
E:判断是否达到p2p端口的阈值,如果已经达到则加入到p2p端口列表中,标明已经识别p2p协议,否则直接发送数据报文,具体的判断步骤如下:
E1:获取p2p协议阈值;
E2:判断数据流的源端口计数是否达到p2p协议的阈值,如果满足条件则标记该源端口为p2p端口;
E3:将识别的p2p端口加入到特征库中,用于识别p2p数据流。
值得说明的是,步骤D中,通过统计分析数据流源端口,动态的识别p2p协议。
综上所述,本发明提供了一种在linux内核识别p2p协议的方法,可以通过p2p端口特征统计,能够动态的识别出p2p协议流,为智能流控提供了基础,提高了用户上网体验。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种在linux内核识别p2p协议的方法,其特征在于,包括以下步骤:
A:网卡接收到数据报文;
B:数据报文进入netfilter框架处理;
C:解析数据报文的源端口号,并查询该源端口;
D:判断源端口是否已经存在,如果存在则更新源端口计数,否则新建一个hash节点,然后发送数据报文;
E:判断是否达到p2p端口的阈值,如果已经达到则加入到p2p端口列表中,标明已经识别p2p协议,否则直接发送数据报文。
2.根据权利要求1所述的一种在linux内核识别p2p协议的方法,其特征在于,步骤D中,通过统计分析数据流源端口,动态的识别p2p协议。
3.根据权利要求1所述的一种在linux内核识别p2p协议的方法,其特征在于,步骤B中,netfilter框架为linux操作系统网络过滤子系统,并只针对新建连接的报文进行分析处理,连接跟踪状态为new状态。
4.根据权利要求1所述的一种在linux内核识别p2p协议的方法,其特征在于,步骤C中,源端口为UDP协议的源端口,源端口是基于终端发起的上行数据报文。
5.根据权利要求1所述的一种在linux内核识别p2p协议的方法,其特征在于,步骤D中,具体的判断步骤如下:
D1:在哈希表中查询源端口是否存在;
D2:如果源端口存在,更新源端口的计数,否则新建一个源端口哈希节点。
6.根据权利要求1所述的一种在linux内核识别p2p协议的方法,其特征在于,步骤E中,具体的判断步骤如下:
E1:获取p2p协议阈值;
E2:判断数据流的源端口计数是否达到p2p协议的阈值,如果满足条件则标记该源端口为p2p端口;
E3:将识别的p2p端口加入到特征库中,用于识别p2p数据流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111018425.1A CN113709001A (zh) | 2021-09-01 | 2021-09-01 | 一种在linux内核识别p2p协议的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111018425.1A CN113709001A (zh) | 2021-09-01 | 2021-09-01 | 一种在linux内核识别p2p协议的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113709001A true CN113709001A (zh) | 2021-11-26 |
Family
ID=78658560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111018425.1A Pending CN113709001A (zh) | 2021-09-01 | 2021-09-01 | 一种在linux内核识别p2p协议的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113709001A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100145912A1 (en) * | 2008-12-08 | 2010-06-10 | At&T Intellectual Property I, L.P. | Detecting peer to peer applications |
CN101867601A (zh) * | 2010-05-14 | 2010-10-20 | 北京理工大学 | 文件级p2p网络流量识别方法 |
CN102055627A (zh) * | 2011-01-04 | 2011-05-11 | 深信服网络科技(深圳)有限公司 | 识别p2p应用连接的方法和装置 |
CN103763154A (zh) * | 2014-01-11 | 2014-04-30 | 浪潮电子信息产业股份有限公司 | 一种网络流量检测方法 |
-
2021
- 2021-09-01 CN CN202111018425.1A patent/CN113709001A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100145912A1 (en) * | 2008-12-08 | 2010-06-10 | At&T Intellectual Property I, L.P. | Detecting peer to peer applications |
CN101867601A (zh) * | 2010-05-14 | 2010-10-20 | 北京理工大学 | 文件级p2p网络流量识别方法 |
CN102055627A (zh) * | 2011-01-04 | 2011-05-11 | 深信服网络科技(深圳)有限公司 | 识别p2p应用连接的方法和装置 |
CN103763154A (zh) * | 2014-01-11 | 2014-04-30 | 浪潮电子信息产业股份有限公司 | 一种网络流量检测方法 |
Non-Patent Citations (2)
Title |
---|
孙梦尧;朱明;申纯洁;: "源端网络检测与抑制DDoS方法的研究", 计算机测量与控制, no. 01, pages 41 - 42 * |
柳斌;李之棠;李战春;周丽娟;: "一种基于Netfilter的BitTorrent流量测量方法", 计算机科学, no. 04, pages 38 - 41 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106972985B (zh) | 加速dpi设备数据处理与转发的方法和dpi设备 | |
WO2017088397A1 (zh) | 用于CDN服务器群组的DDoS攻击防护方法及系统 | |
CN109391661B (zh) | 物联网终端的区块链组网方法和系统 | |
CN103618733B (zh) | 一种应用于移动互联网的数据过滤系统及方法 | |
CN104320358A (zh) | 一种电力通信网中的QoS业务控制方法 | |
WO2021052379A1 (zh) | 一种数据流类型识别方法及相关设备 | |
US20180013646A1 (en) | Attributing network address translation device processed traffic to individual hosts | |
CN102148854A (zh) | 对等节点共享流量识别方法和装置 | |
WO2024060408A1 (zh) | 网络攻击检测方法和装置、设备及存储介质 | |
CN111654486A (zh) | 一种服务器设备判定识别方法 | |
CN111211936B (zh) | 一种基于网络状态的数据处理方法和装置 | |
CN111224889A (zh) | 一种数据传输的方法和装置 | |
Kim et al. | A scalable carrier-grade DPI system architecture using synchronization of flow information | |
US20170149821A1 (en) | Method And System For Protection From DDoS Attack For CDN Server Group | |
CN114363739A (zh) | 一种基于光业务单元的业务应用方法及装置 | |
CN110545213A (zh) | 计算机网络数据流量监测系统及方法 | |
CN101668035B (zh) | 一种实时识别多种p2p-tv应用视频流的方法 | |
CN111224891B (zh) | 一种基于动态学习三元组的流量应用识别系统及方法 | |
CN113709001A (zh) | 一种在linux内核识别p2p协议的方法 | |
CN110224932B (zh) | 一种数据快速转发的方法及系统 | |
CN109889910B (zh) | 一种访问专网的通信方法和装置 | |
CN110391922B (zh) | 一种业务平台的版本提示方法和装置 | |
US8792339B2 (en) | Method and system for moving distinctive traffic flows to a different priority service flow | |
WO2022001480A1 (zh) | 热门应用识别方法、网络系统、网络设备及存储介质 | |
KR100788130B1 (ko) | Dns 서버의 cpu 이용율 관리방법 및 그 이용율관리시스템 |
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 |