CN115348337B - 一种基于多协议的tcp数据包解析分析方法及装置 - Google Patents
一种基于多协议的tcp数据包解析分析方法及装置 Download PDFInfo
- Publication number
- CN115348337B CN115348337B CN202210809290.9A CN202210809290A CN115348337B CN 115348337 B CN115348337 B CN 115348337B CN 202210809290 A CN202210809290 A CN 202210809290A CN 115348337 B CN115348337 B CN 115348337B
- Authority
- CN
- China
- Prior art keywords
- tcp
- data packet
- analysis
- statistics
- target
- 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
- 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/06—Generation of reports
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- 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/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本发明公开了一种基于多协议的TCP数据包解析分析方法及装置,方法包括:首先获取目标数据包;接着根据多种协议将所述目标数据包解析成文本格式,得到目标字段;然后根据解析得到的所述目标字段,进行统计分析,得到分析结果;其中,所述多种协议包括cmpp2协议、cmpp3协议、sgip协议、smgp协议;所述统计分析包括以下至少之一:连接报告统计、流量报告统计、RTT报告统计、短信下发报告统计。本发明提高了问题发现和排查效率,能够为业务系统与运营商服务器交互过程中出现的问题提供有效的分析报表,可广泛应用于通信技术领域。
Description
技术领域
本发明涉及通信技术领域,尤其是一种基于多协议的TCP数据包解析分析方法及装置。
背景技术
在实际业务场景中,对数据的统计分析是一个必要场景,在做统计分析时如果数据被存储,则可以利用数据库提供的统计分析能力对业务数据做分析统计,但利用数据库统计分析数据的前提是数据解析正常且符合业务规则能够入库的数据,所以这部分数据不是客户端和服务端交互的所有数据,还有一部分是网络异常造成的数据没有被统计到,故需要完成统计分析在客户端和服务端交互过程中的所有数据,需要对网络交互中的数据做分析,如今主流的TCP数据包分析工具有Wireshark等平台,但这类工具都是基于七层网络协议分析的工具,无法对应用层的实际数据做很好的统计分析,cmpp2、cmpp3、sgip、smgp协议是中国移动、中国联通、中国电信三大运营商自研的基于TCP协议的应用层协议,可以基于该协议进行连接到运营商并短信下发,而在和运营商建立连接和下发短信的时候,由于TCP协议的不可靠性,难免在业务系统和运营商服务器交互过程中出现断连、重试、流量拥堵、短信发送耗时过长的问题。
发明内容
有鉴于此,本发明实施例提供一种效率高的基于多协议的TCP数据包解析分析方法及装置。
本发明实施例的一方面提供了一种基于多协议的TCP数据包解析分析方法,包括:
获取目标数据包;
根据多种协议将所述目标数据包解析成文本格式,得到目标字段;
根据解析得到的所述目标字段,进行统计分析,得到分析结果;
其中,所述多种协议包括cmpp2协议、cmpp3协议、sgip协议、smgp协议;
所述统计分析包括以下至少之一:连接报告统计、流量报告统计、RTT报告统计、短信下发报告统计。
可选地,所述获取目标数据包,包括:
在Linux环境中抓取数据包时,使用tcpdump对ens33网卡中端口是7890且ip地址是120.232.166.242的TCP数据包进行数据包抓取。
可选地,所述将所述目标数据包解析成文本格式,得到目标字段,包括:
通过tshark将抓取到的TCP数据包解析成可读的文本格式;具体地:
配置待解析的数据包的资源名以及解析输出格式;
配置需要输出的TCP数据包字段;
配置TCP数据包的源ip、目标ip、源端口、目标端口;
配置网络会话ID;
配置TCP数据包被tcpdump抓取到的时间;
配置TCP数据包的序号;
配置tshark工具对TCP数据包的健康状况的分析结果的标识;
配置TCP数据包的往返延迟时间;
根据配置内容,将抓取到的TCP数据包解析成可读的文本格式,输出解析结果。
可选地,当所述统计分析为连接报告统计时,所述根据解析得到的所述目标字段,进行统计分析,得到分析结果,包括:
当进行连接报告统计时:
记录客户端的登陆耗时;
在确定客户端与运营商的同一会话后,统计客户端在多次登录会话的耗时中的最大时间和最小时间,分别统计为最大登录耗时和最小登录耗时。
可选地,当所述统计分析为流量报告统计时,所述根据解析得到的所述目标字段,进行统计分析,得到分析结果,包括:
当进行流量报告统计时:
根据客户端和运营商的网络交互信息,以秒的时间跨度,以ip.src:tcp.srcport为维度,以字节为单位,对tcp.payload承载的数据量进行统计;
在完成所有TCP网络数据包交互后,得到从客户端发出的tcp.payload统计数、从运营商发出的tcp.payload统计数,记录为ip:port发出字节数,选择tcp.payload统计数最大的其中一秒作为流量最高时间点,然后生成TCP数据包的健康状况的分析结果;
将分析结果中描述有Zero Window、Full Window、Retransmission或者Out OfOrder的数据标记为异常流量,其他数据标记为正常流量;
其中,若在所述分析结果中描述有Zero Window的数据,则Zero Window统计数加一;若在所述分析结果中描述有Full Window的数据,则Full Window统计数加一;若在所述分析结果中描述有Retransmission的数据,则Retransmission统计数加一;若在所述分析结果中描述有Out Of Order的数据,则Out Of Order统计数加一;
其中,ip.src代表TCP数据包的源ip;tcp.srcport代表TCP数据包的源端口;ZeroWindow代表从发送方发出的TCP网络数据包已经达到了接收方的接收极限;Full Window代表接收方接收的TCP网络数据包已经达到了接收极限;Retransmission代表从客户端发出的TCP网络数据包有重复;Out Of Order代表从客户端发出的TCP网络数据包有乱序。
可选地,当所述统计分析为RTT报告统计时,根据解析得到的所述目标字段,进行统计分析,得到分析结果,包括:
根据客户端和运营商的网络交互信息,对tcp.analysis.ack_rtt字段进行统计;
在完成所有TCP网络数据包的交互后,取tcp.analysis.ack_rtt字段的最大值,记为最大RTT;取tcp.analysis.ack_rtt字段的最小值,记为最小RTT;
计算tcp.analysis.ack_rtt字段的所有数据总和的平均数,记为平均RTT;
根据方差公式,根据所述平均RTT计算出RTT方差。
可选地,当所述统计分析为短信下发报告统计时,根据解析得到的所述目标字段,进行统计分析,得到分析结果,包括:
当客户端发起短信下发请求时,所述短信下发请求中携带有phone_number,每当统计到一个phone_number,则phone_number的总提交号码数的统计数加一,若有相同号码被统计到,则重复号码统计数加一;
在从客户端发出短信下发请求到接收到短信下发结果这个完整的短信下发请求响应过程中,将多次短信下发请求响应中的最大耗时和最小耗时统计为最大响应耗时、最小响应耗时,所有下发请求响应的耗时的平均值统计记为平均响应耗时;
当客户端发出短信下发请求后,没有收到短信下发响应,则无响应请求数统计数加一,并把sequence_id字段记录下来,记为无响应请求序列号。
本发明实施例的另一方面还提供了一种基于多协议的TCP数据包解析分析装置,包括:
第一模块,用于获取目标数据包;
第二模块,用于根据多种协议将所述目标数据包解析成文本格式,得到目标字段;
第三模块,用于根据解析得到的所述目标字段,进行统计分析,得到分析结果;
其中,所述多种协议包括cmpp2协议、cmpp3协议、sgip协议、smgp协议;
所述统计分析包括以下至少之一:连接报告统计、流量报告统计、RTT报告统计、短信下发报告统计。
本发明实施例的另一方面还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明的实施例首先获取目标数据包;接着根据多种协议将所述目标数据包解析成文本格式,得到目标字段;然后根据解析得到的所述目标字段,进行统计分析,得到分析结果;其中,所述多种协议包括cmpp2协议、cmpp3协议、sgip协议、smgp协议;所述统计分析包括以下至少之一:连接报告统计、流量报告统计、RTT报告统计、短信下发报告统计。本发明提高了问题发现和排查效率,能够为业务系统与运营商服务器交互过程中出现的问题提供有效的分析报表。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的整体步骤流程图;
图2为本发明实施例提供的客户端和运营商之间的网络交互图;
图3为本发明实施例提供的客户端和运营商的连接流程图;
图4为本发明实施例提供的客户端和运营商在流量报告统计过程中的网络交互图;
图5为本发明实施例提供的短信下发报告统计的过程的网络交互图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
针对现有技术存在的问题,本发明实施例的一方面提供了一种基于多协议的TCP数据包解析分析方法,包括:
获取目标数据包;
根据多种协议将所述目标数据包解析成文本格式,得到目标字段;
根据解析得到的所述目标字段,进行统计分析,得到分析结果;
其中,所述多种协议包括cmpp2协议、cmpp3协议、sgip协议、smgp协议;
所述统计分析包括以下至少之一:连接报告统计、流量报告统计、RTT报告统计、短信下发报告统计。
可选地,所述获取目标数据包,包括:
在Linux环境中抓取数据包时,使用tcpdump对ens33网卡中端口是7890且ip地址是120.232.166.242的TCP数据包进行数据包抓取。
可选地,所述将所述目标数据包解析成文本格式,得到目标字段,包括:
通过tshark将抓取到的TCP数据包解析成可读的文本格式;具体地:
配置待解析的数据包的资源名以及解析输出格式;
配置需要输出的TCP数据包字段;
配置TCP数据包的源ip、目标ip、源端口、目标端口;
配置网络会话ID;
配置TCP数据包被tcpdump抓取到的时间;
配置TCP数据包的序号;
配置tshark工具对TCP数据包的健康状况的分析结果的标识;
配置TCP数据包的往返延迟时间;
根据配置内容,将抓取到的TCP数据包解析成可读的文本格式,输出解析结果。
可选地,当所述统计分析为连接报告统计时,所述根据解析得到的所述目标字段,进行统计分析,得到分析结果,包括:
当进行连接报告统计时:
记录客户端的登陆耗时;
在确定客户端与运营商的同一会话后,统计客户端在多次登录会话的耗时中的最大时间和最小时间,分别统计为最大登录耗时和最小登录耗时。
可选地,当所述统计分析为流量报告统计时,所述根据解析得到的所述目标字段,进行统计分析,得到分析结果,包括:
当进行流量报告统计时:
根据客户端和运营商的网络交互信息,以秒的时间跨度,以ip.src:tcp.srcport为维度,以字节为单位,对tcp.payload承载的数据量进行统计;
在完成所有TCP网络数据包交互后,得到从客户端发出的tcp.payload统计数、从运营商发出的tcp.payload统计数,记录为ip:port发出字节数,选择tcp.payload统计数最大的其中一秒作为流量最高时间点,然后生成TCP数据包的健康状况的分析结果;
将分析结果中描述有Zero Window、Full Window、Retransmission或者Out OfOrder的数据标记为异常流量,其他数据标记为正常流量;
其中,若在所述分析结果中描述有Zero Window的数据,则Zero Window统计数加一;若在所述分析结果中描述有Full Window的数据,则Full Window统计数加一;若在所述分析结果中描述有Retransmission的数据,则Retransmission统计数加一;若在所述分析结果中描述有Out Of Order的数据,则Out Of Order统计数加一;
其中,ip.src代表TCP数据包的源ip;tcp.srcport代表TCP数据包的源端口;ZeroWindow代表从发送方发出的TCP网络数据包已经达到了接收方的接收极限;Full Window代表接收方接收的TCP网络数据包已经达到了接收极限;Retransmission代表从客户端发出的TCP网络数据包有重复;Out Of Order代表从客户端发出的TCP网络数据包有乱序。
可选地,当所述统计分析为RTT报告统计时,根据解析得到的所述目标字段,进行统计分析,得到分析结果,包括:
根据客户端和运营商的网络交互信息,对tcp.analysis.ack_rtt字段进行统计;
在完成所有TCP网络数据包的交互后,取tcp.analysis.ack_rtt字段的最大值,记为最大RTT;取tcp.analysis.ack_rtt字段的最小值,记为最小RTT;
计算tcp.analysis.ack_rtt字段的所有数据总和的平均数,记为平均RTT;
根据方差公式,根据所述平均RTT计算出RTT方差。
可选地,当所述统计分析为短信下发报告统计时,根据解析得到的所述目标字段,进行统计分析,得到分析结果,包括:
当客户端发起短信下发请求时,所述短信下发请求中携带有phone_number,每当统计到一个phone_number,则phone_number的总提交号码数的统计数加一,若有相同号码被统计到,则重复号码统计数加一;
在从客户端发出短信下发请求到接收到短信下发结果这个完整的短信下发请求响应过程中,将多次短信下发请求响应中的最大耗时和最小耗时统计为最大响应耗时、最小响应耗时,所有下发请求响应的耗时的平均值统计记为平均响应耗时;
当客户端发出短信下发请求后,没有收到短信下发响应,则无响应请求数统计数加一,并把sequence_id字段记录下来,记为无响应请求序列号。
本发明实施例的另一方面还提供了一种基于多协议的TCP数据包解析分析装置,包括:
第一模块,用于获取目标数据包;
第二模块,用于根据多种协议将所述目标数据包解析成文本格式,得到目标字段;
第三模块,用于根据解析得到的所述目标字段,进行统计分析,得到分析结果;
其中,所述多种协议包括cmpp2协议、cmpp3协议、sgip协议、smgp协议;
所述统计分析包括以下至少之一:连接报告统计、流量报告统计、RTT报告统计、短信下发报告统计。
本发明实施例的另一方面还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
下面结合说明书附图,对本发明的具体实现过程进行详细描述:
首先,通过下列的表1来对本发明实施例中出现的各个技术名词进行介绍说明:
表1
具体地,本发明实施例的整体流程如图1所示,具体包括以下步骤:
1、抓取数据包;2、解析数据包;3、分析统计数据包;4、打印报表。
下面对各个步骤的具体实现过程进行详细说明:
1、抓取数据包
Linux环境中抓取数据包时需要使用tcpdump这个工具,具体命令示例为:
tcpdump-i ens33 port 7890and host 120.232.166.242;
该命令的含义是抓取ens33网卡中端口是7890且ip地址是120.232.166.242的TCP数据包。
2、解析数据包
解析TCP数据包时本发明需要使用tshark这个工具,该工具可以把tcpdump工具抓取到的TCP数据包解析成可读的文本格式,命令示例如下:
tshark-r tcpdump.pcap-T fields-e ip.src-e ip.dst-e tcp.srcport-etcp.dstport-e tcp.stream-e tcp.payload-e frame.time-e frame.number-e_ws.expert-etcp.analysis.ack_rtt-E separator=^;
上述命令中出现的各个参数的解析如下列表2所示:
表2
执行上述命令后,会输出例如下列所示的解析后的数据,可以得到TCP数据包的源ip、目标ip、源端口、目标端口、回话ID、十六进制格式的业务数据、被tcpdump抓取到的时间、序号、健康状况、往返延迟时间,一共11个字段:
172.16.1.37^120.232.166.242^43382^7890^0^000000ad0000000407fab247000000000000000002020101000000000000000000000200000000000000000000000000000000000000000000010831000000000030313030000000003231313230333134303433373033322b000000000000000000000000000000000000313036393039363939393635383800000000000000013133383633393230383438000000000000000000000e050003e002025e765904740630024956303000000000^Jun 8,2022 03:35:31.120241000中国标准时间^1753^Expert Info(Warning/Sequence):This frame is a(suspected)out-of-order segment^0.000626000;
在上面的解析后的数据中出现的各个参数的含义如下:
172.16.1.37是ip.src字段,表示TCP数据包的源ip;
120.232.166.242是ip.dst字段,表示TCP数据包的目标ip;
43382是tcp.srcport字段,表示TCP数据包的源端口;
7890是tcp.dstport字段,表示TCP数据包的目标端口
0是tcp.stream字段,表示网络会话的ID
000000ad0000000407fab247000000000000000002020101000000000000000000000200000000000000000000000000000000000000000000010831000000000030313030000000003231313230333134303433373033322b000000000000000000000000000000000000313036393039363939393635383800000000000000013133383633393230383438000000000000000000000e050003e002025e765904740630024956303000000000是tcp.payload字段,表示业务系统中需要交互的业务数据的十六进制格式表示
Jun 8,2022 03:35:31.120241000中国标准时间是frame.time字段,表示TCP数据包被tcpdump抓取到的时间;
1753是frame.number字段,表示TCP数据包的序号;
Expert Info(Warning/Sequence):This frame is a(suspected)out-of-ordersegment是_ws.expert字段,表示tshark工具对于该TCP数据包的健康状况的分析结果;
0.000626000是tcp.analysis.ack_rtt字段,表示TCP数据包往返延迟时间为626微秒。
客户端和运营商之间的网络交互过程可参考图2。
具体地,对于cmpp2、cmpp3、sgip、smgp协议的数据解析过程中,在上文中tcp.payload字段的数据:
000000ad0000000407fab247000000000000000002020101000000000000000000000200000000000000000000000000000000000000000000010831000000000030313030000000003231313230333134303433373033322b000000000000000000000000000000000000313036393039363939393635383800000000000000013133383633393230383438000000000000000000000e050003e002025e765904740630024956303000000000
在本发明中是运营商cmpp2协议数据的16进制表示,此外cmpp3、sgip、smgp的协议数据类似,这里本实施例按照运营商提供的协议文档对这部分数据做解析即可得到可读的数据:
按照协议文档可以解析出来本发明中需要的几个字段,其各个运营商字段与本发明中中的匹配关系如下表3所示:
表3
本发明定义 | cmpp2 | cmpp3 | sgip | smgp |
sequence_id | Sequence_Id | Sequence_Id | Sequence Number | SequenceID |
command_id | Command_Id | Command_Id | Command ID | RequestID |
phone_number | Dest_terminal_Id | Dest_terminal_Id | UserNumber | DestTermID |
3、分析与统计数据包
在统计报表中,有以下数据需要统计:连接报告统计、流量报告统计、RTT报告统计、短信下发报告统计。
具体地,3-1、连接报告统计的过程如下:
如图3所示,在客户端和运营商的连接流程中,客户端发起command_id=0x00000001,sequence_id=1的请求,到最后接收到command_id=0x80000001,sequence_id=1的结果的这段时间为一次登录耗时,客户端与运营商直接的请求与响应使用sequence_id来确认是同一个会话,在多次登录会话的耗时中的最大时间和最小时间分别统计为最大登录耗时、最小登录耗时。
3-2、流量报告统计的过程如下:
如图4所示,根据客户端和运营商的网络交互图,本发明以秒的时间跨度,以ip.src:tcp.srcport为维度,以字节为单位,对tcp.payload承载的数据量进行统计,在完成所有TCP网络数据包交互后,本实施例可以得到从客户端发出的tcp.payload统计数、从运营商发出的tcp.payload统计数这里记为ip:port发出字节数,本实施例选择tcp.payload统计数最大的其中一秒作为流量最高时间点;
_ws.expert中描述有Zero Window的数据,则Zero Window统计数加一;
_ws.expert中描述有Full Window的数据,则Full Window统计数加一;
_ws.expert中描述有Retransmission的数据,则Retransmission统计数加一;
_ws.expert中描述有Out Of Order的数据,则Out Of Order统计数加一;
上述_ws.expert中的四个现象本实施例都标记为异常流量,排除这几种情况则标记为正常流量.
3-3、RTT报告统计的过程:
根据客户端和运营商的网络交互图,本发明对tcp.analysis.ack_rtt字段做统计,在完成所有TCP网络数据包交互后,取该字段的最大值,记为最大RTT、最小值记为最小RTT、该字段的所有数据总和的平均数,记为平均RTT,根据方差公式,计算出RTT方差。
3-4、短信下发报告统计的过程:
短信下发报告统计需要使用sequence_id、phone_number、command_id三个字段,如图5所示,当客户端发起短信下发请求,请求中携带有phone_number,那么对每统计到一个phone_number,则phone_number的总提交号码数统计数加一,若有相同号码被统计到,则重复号码统计数加一;从客户端发出短信下发请求到接收到短信下发结果这个过程为一次短信下发请求响应,在多次短信下发请求响应中的最大耗时和最小耗时统计为最大响应耗时、最小响应耗时,所有下发请求响应的耗时的平均值统计记为平均响应耗时,当客户端发出短信下发请求后,没有收到短信下发响应,则无响应请求数统计数加一,并把sequence_id记录下来,记为无响应请求序列号。
最后,根据前面的流程中统计到的数据,进行汇总后,可以输出入下方示例的报表,如下所示:
连接报告:
最大登录耗时:1,tcp frame number:6
最小登录耗时:1,tcp frame number:6
短信下发报告:
总提交号码数:2831
重复号码数:0
最大响应耗时:1996,tcp frame number:1342
最小响应耗时:1,tcp frame number:17
平均响应耗时:1041
无响应请求数:1
无响应请求序列号:[1462]
流量最高时间点:[2022-06-08 15:35:52]45次提交
流量报告:
正常流量:
出口ip:port[120.232.166.242:7890]发出字节数:165840
出口ip:port[172.16.1.37:43382]发出字节数:1282760
异常流量
出口ip:port[172.16.1.37:43382]发出字节数:123950
Zero Window:38次
Full Window:2次
Retransmission:4次
Out Of Order:43次
RTT报告(单位:微秒)
最大RTT:112603,tcp frame number:1593
最小RTT:3,tcp frame number:3595
平均RTT:2637
RTT方差:68720748.132
综上所述,由于TCP协议的不可靠性,在业务系统和运营商服务器交互过程中出现断连、重试、流量拥堵、短信发送耗时过长的问题,本发明可以在TCP协议数据包做关键流量分析,并在TCP协议基础上对cmpp2、cmpp3、sgip、smgp协议的内容做解析和统计分析,对流量、状态等识别和汇总,为业务系统与运营商服务器交互过程中出现的问题提供有效的分析报表,加快问题发现与排查速度。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置)、便携式计算机盘盒(磁装置)、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编辑只读存储器(EPROM或闪速存储器)、光纤装置以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (9)
1.一种基于多协议的TCP数据包解析分析方法,其特征在于,包括:
获取目标数据包;
根据多种协议将所述目标数据包解析成文本格式,得到目标字段;
根据解析得到的所述目标字段,进行统计分析,得到分析结果;
其中,所述多种协议包括cmpp2协议、cmpp3协议、sgip协议、smgp协议;
所述统计分析包括以下至少之一:连接报告统计、流量报告统计、RTT报告统计、短信下发报告统计;
所述将所述目标数据包解析成文本格式,得到目标字段,包括:
通过tshark将抓取到的TCP数据包解析成可读的文本格式;具体地:
配置待解析的数据包的资源名以及解析输出格式;
配置需要输出的TCP数据包字段;
配置TCP数据包的源ip、目标ip、源端口、目标端口;
配置网络会话ID;
配置TCP数据包被 tcpdump 抓取到的时间;
配置TCP数据包的序号;
配置tshark 工具对TCP数据包的健康状况的分析结果的标识;
配置TCP数据包的往返延迟时间;
根据配置内容,将抓取到的TCP数据包解析成可读的文本格式,输出解析得到的所述目标字段。
2.根据权利要求1所述的一种基于多协议的TCP数据包解析分析方法,其特征在于,所述获取目标数据包,包括:
在Linux 环境中抓取数据包时,使用 tcpdump对ens33网卡中端口是7890且ip地址是120.232.166.242的TCP数据包进行数据包抓取。
3.根据权利要求1所述的一种基于多协议的TCP数据包解析分析方法,其特征在于,当所述统计分析为连接报告统计时,所述根据解析得到的所述目标字段,进行统计分析,得到分析结果,包括:
当进行连接报告统计时:
记录客户端的登陆耗时;
在确定客户端与运营商的同一会话后,统计客户端在多次登录会话的耗时中的最大时间和最小时间,分别统计为最大登录耗时和最小登录耗时。
4.根据权利要求1所述的一种基于多协议的TCP数据包解析分析方法,其特征在于,当所述统计分析为流量报告统计时,所述根据解析得到的所述目标字段,进行统计分析,得到分析结果,包括:
当进行流量报告统计时:
根据客户端和运营商的网络交互信息,以秒的时间跨度,以ip.src:tcp.srcport为维度,以字节为单位,对tcp.payload承载的数据量进行统计;
在完成所有TCP网络数据包交互后,得到从客户端发出的tcp.payload统计数、从运营商发出的tcp.payload统计数,记录为ip:port发出字节数,选择tcp.payload统计数最大的其中一秒作为流量最高时间点,然后生成TCP数据包的健康状况的分析结果;
将分析结果中描述有Zero Window、Full Window、Retransmission或者Out Of Order的数据标记为异常流量,其他数据标记为正常流量;
其中,若在所述分析结果中描述有Zero Window的数据,则Zero Window统计数加一;若在所述分析结果中描述有Full Window的数据,则Full Window统计数加一;若在所述分析结果中描述有Retransmission的数据,则Retransmission统计数加一;若在所述分析结果中描述有Out Of Order的数据,则Out Of Order统计数加一;
其中,ip.src代表TCP数据包的源ip;tcp.srcport代表TCP数据包的源端口;ZeroWindow代表从发送方发出的TCP网络数据包已经达到了接收方的接收极限;Full Window代表接收方接收的TCP网络数据包已经达到了接收极限;Retransmission代表从客户端发出的TCP网络数据包有重复;Out Of Order代表从客户端发出的TCP网络数据包有乱序。
5.根据权利要求1所述的一种基于多协议的TCP数据包解析分析方法,其特征在于,当所述统计分析为RTT报告统计时,根据解析得到的所述目标字段,进行统计分析,得到分析结果,包括:
根据客户端和运营商的网络交互信息,对tcp.analysis.ack_rtt字段进行统计;
在完成所有TCP网络数据包的交互后,取tcp.analysis.ack_rtt字段的最大值,记为最大RTT;取tcp.analysis.ack_rtt字段的最小值,记为最小RTT;
计算tcp.analysis.ack_rtt字段的所有数据总和的平均数,记为平均RTT;
根据方差公式,根据所述平均RTT计算出RTT方差。
6.根据权利要求1所述的一种基于多协议的TCP数据包解析分析方法,其特征在于,当所述统计分析为短信下发报告统计时,根据解析得到的所述目标字段,进行统计分析,得到分析结果,包括:
当客户端发起短信下发请求时,所述短信下发请求中携带有phone_number,每当统计到一个phone_number,则phone_number的总提交号码数的统计数加一,若有相同号码被统计到,则重复号码统计数加一;
在从客户端发出短信下发请求到接收到短信下发结果这个完整的短信下发请求响应过程中,将多次短信下发请求响应中的最大耗时和最小耗时统计为最大响应耗时、最小响应耗时,所有下发请求响应的耗时的平均值统计记为平均响应耗时;
当客户端发出短信下发请求后,没有收到短信下发响应,则无响应请求数统计数加一,并把sequence_id字段记录下来,记为无响应请求序列号。
7.一种基于多协议的TCP数据包解析分析装置,其特征在于,包括:
第一模块,用于获取目标数据包;
第二模块,用于根据多种协议将所述目标数据包解析成文本格式,得到目标字段;所述将所述目标数据包解析成文本格式,得到目标字段,包括:通过tshark将抓取到的TCP数据包解析成可读的文本格式;具体地:配置待解析的数据包的资源名以及解析输出格式;配置需要输出的TCP数据包字段;配置TCP数据包的源ip、目标ip、源端口、目标端口;配置网络会话ID;配置TCP数据包被 tcpdump 抓取到的时间;配置TCP数据包的序号;配置tshark 工具对TCP数据包的健康状况的分析结果的标识;配置TCP数据包的往返延迟时间;根据配置内容,将抓取到的TCP数据包解析成可读的文本格式,输出解析得到的所述目标字段;
第三模块,用于根据解析得到的所述目标字段,进行统计分析,得到分析结果;
其中,所述多种协议包括cmpp2协议、cmpp3协议、sgip协议、smgp协议;
所述统计分析包括以下至少之一:连接报告统计、流量报告统计、RTT报告统计、短信下发报告统计。
8.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210809290.9A CN115348337B (zh) | 2022-07-11 | 2022-07-11 | 一种基于多协议的tcp数据包解析分析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210809290.9A CN115348337B (zh) | 2022-07-11 | 2022-07-11 | 一种基于多协议的tcp数据包解析分析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115348337A CN115348337A (zh) | 2022-11-15 |
CN115348337B true CN115348337B (zh) | 2023-06-02 |
Family
ID=83948128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210809290.9A Active CN115348337B (zh) | 2022-07-11 | 2022-07-11 | 一种基于多协议的tcp数据包解析分析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115348337B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707750B (zh) * | 2009-10-12 | 2012-10-31 | 南京联创科技集团股份有限公司 | 基于跨运营商短信应用的流量控制方法 |
FI20105450A (fi) * | 2010-04-26 | 2011-10-27 | Codenomicon Oy | Menetelmä ja järjestelmä viestin analysointiin |
CN106571966A (zh) * | 2016-11-07 | 2017-04-19 | 上海斐讯数据通信技术有限公司 | Mac克隆功能测试的系统及方法 |
CN113315678A (zh) * | 2021-05-26 | 2021-08-27 | 深圳市纽创信安科技开发有限公司 | 加密tcp流量采集方法与装置 |
CN113660267B (zh) * | 2021-08-17 | 2022-07-26 | 电子科技大学 | 一种针对IoT环境的僵尸网络检测的系统、方法及存储介质 |
CN114172706A (zh) * | 2021-11-29 | 2022-03-11 | 广州大学 | 智能音箱网络流量异常的检测方法、系统、设备和介质 |
-
2022
- 2022-07-11 CN CN202210809290.9A patent/CN115348337B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115348337A (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016106592A1 (zh) | 一种特征信息分析方法及装置 | |
US8806189B2 (en) | Apparatus for analyzing traffic | |
US10084713B2 (en) | Protocol type identification method and apparatus | |
CN112311789B (zh) | 深度报文处理方法、装置、电子设备及存储介质 | |
US20060067493A1 (en) | Processing of usage data for first and second types of usage-based functions | |
US20130191890A1 (en) | Method and system for user identity recognition based on specific information | |
EP1746768A2 (en) | Method and apparatus for data network sampling | |
CN106471778B (zh) | 攻击检测装置和攻击检测方法 | |
WO2021000874A1 (zh) | 业务流识别方法和装置、模型生成方法和装置 | |
CN110266726B (zh) | 一种识别ddos攻击数据流的方法及装置 | |
KR101292873B1 (ko) | 네트워크 인터페이스 카드장치 및 상기 네트워크 인터페이스 카드장치를 이용한 트래픽 처리 방법 | |
CN110691007A (zh) | 一种精确测量quic连接丢包率的方法 | |
WO2020206849A1 (zh) | 一种处理带vlan tag的dhcp数据的方法及系统 | |
CN107592554A (zh) | 直播视频转发方法及装置 | |
CN115348337B (zh) | 一种基于多协议的tcp数据包解析分析方法及装置 | |
CN112688924A (zh) | 网络协议分析系统 | |
CN109039811B (zh) | 用于网络性能监控的网络数据包包头压缩方法及装置 | |
CN114070761B (zh) | 协议报文检测方法、其装置及电子设备 | |
CN103078720B (zh) | 报文处理方法及装置 | |
CN102957580A (zh) | 一种流量统计方法及设备 | |
CN115484193A (zh) | 网络丢包流量的监控和解析方法、系统、存储介质及设备 | |
WO2022104738A1 (zh) | 一种木马检测方法、装置和设备 | |
CN108173717A (zh) | 一种用户态下通过获取icmp差错报文监测网络状况的方法 | |
CN112866275A (zh) | 一种流量抽样方法、装置和计算机可读存储介质 | |
CN113285904A (zh) | 基于rdp的磁盘映射文件信息的解析方法 |
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 |