获取TCP状态信息的方法、装置、设备及存储介质制造方法及图纸

技术编号:27093106 阅读:15 留言:0更新日期:2021-01-25 18:27
本申请公开了一种获取TCP状态信息的方法、装置、设备及存储介质,该方法包括:获得函数配置请求,该函数配置请求携带有自定义的状态获取函数的函数地址,该状态获取函数包括至少一套状态获取代码段;响应于该函数配置请求,获取内核符号表中TCP状态获取接口的接口地址;依据该TCP状态获取接口的接口地址,定位该TCP状态获取接口;将该TCP状态获取接口指向的函数地址更改为该自定义的状态获取函数的函数地址,以通过调用该TCP状态获取接口运行该自定义的状态获取函数中的该状态获取代码段,并获得该状态获取代码段对应信息种类的TCP状态信息。本申请的方案可以实现灵活的获取所需的TCP状态信息。取所需的TCP状态信息。取所需的TCP状态信息。

【技术实现步骤摘要】
获取TCP状态信息的方法、装置、设备及存储介质


[0001]本申请涉及网络
,尤其涉及一种获取TCP状态信息的方法、装置、设备及存储介质。

技术介绍

[0002]为了保证服务器可以更好的提供业务服务,经常需要监控并分析服务器的网络状态以及数据传输性能。
[0003]在服务器基于传输控制协议(Transmission ControlProtocol,TCP)与客户端或其他设备建立TCP连接的情况下,服务器已建立的TCP连接的TCP状态信息可以反映出服务器的网络状态以及数据传输性能,因此,通过获取服务器中已建立的TCP连接的TCP状态信息可以有效分析服务器的网络状态以及数据传输性能等。
[0004]其中,TCP连接的TCP状态信息的类型有多种,如,TCP状态信息可以包括丢包、延时等多种状态信息。根据网络状态或者数据传输性能等的不同分析需求,所需获取的TCP状态信息的类型也会有所差别。然而,目前却无法较为灵活的从服务器中获取所需的TCP状态信息。

技术实现思路

[0005]有鉴于此,本申请提供了一种获取TCP状态信息的方法、装置、设备及存储介质,以提高获取服务器等设备内TCP状态信息的灵活性。
[0006]为实现上述目的,一方面,本申请提供了一种获取TCP状态信息的方法,包括:
[0007]获得函数配置请求,所述函数配置请求携带有自定义的状态获取函数的函数地址,所述状态获取函数包括至少一套状态获取代码段,每套状态获取代码段用于从内核对应的内存中获取一种信息种类的TCP状态信息;
[0008]响应于所述函数配置请求,获取内核符号表中TCP状态获取接口的接口地址;
[0009]依据所述TCP状态获取接口的接口地址,定位所述TCP状态获取接口;
[0010]将所述TCP状态获取接口指向的函数地址更改为所述自定义的状态获取函数的函数地址,以通过调用所述TCP状态获取接口运行所述自定义的状态获取函数中的所述状态获取代码段,并获得所述状态获取代码段对应信息种类的TCP状态信息。
[0011]在一种可能的实现方式中,所述获取内核符号表中TCP状态获取接口的接口地址,包括:
[0012]调用内核中的符号表查找函数查询所述内核符号表,并从所述内核符号表包含的TCP协议栈的函数接口结构体中,获得所述TCP状态获取接口的接口地址。
[0013]在又一种可能的实现方式中,该方法还包括:
[0014]获取TCP状态查询指令,所述TCP状态查询指令指示有待查询的TCP状态信息的目标信息种类;
[0015]响应于所述TCP状态查询指令,通过调用所述TCP状态获取接口,运行所述自定义
的状态获取函数中与所述目标信息种类对应的目标状态获取代码段,以获得内核对应的内存中属于所述目标信息种类的TCP状态信息。
[0016]在又一种可能的实现方式中,在调用所述TCP状态获取接口之前,还包括:
[0017]检测所述目标信息种类是否属于所述TCP状态获取接口对应的标准信息种类,其中,所述标准信息种类为在将所述TCP状态获取接口指向的函数地址更改为所述自定义的状态获取函数的函数地址之前,调用所述TCP状态获取接口所能获取到TCP状态信息的信息种类;
[0018]所述通过调用所述TCP状态获取接口,运行所述自定义的状态获取函数中与所述目标信息种类对应的目标状态获取代码段,包括:
[0019]如果所述目标信息种类不属于所述标准信息种类,通过调用所述TCP状态获取接口,运行所述自定义的状态获取函数中与所述目标信息种类对应的目标状态获取代码段。
[0020]在又一种可能的实现方式中,还包括:
[0021]如果所述目标信息种类属于所述标准信息种类,则依据存储的标准状态获取函数的函数地址,调用并运行所述标准状态获取函数中与所述目标信息种类对应的标准状态获取代码段,并通过运行所述标准状态获取代码段从内核对应的内存中获取属于所述目标信息种类的TCP状态信息,所述标准状态获取函数为在将所述TCP状态获取接口指向的函数地址更改为所述自定义的状态获取函数的函数地址之前,所述TCP状态获取接口所指向的状态获取函数。
[0022]在又一种可能的实现方式中,所述TCP状态查询指令还携带有待查询的TCP连接的标识;
[0023]所述通过调用所述TCP状态获取接口,运行所述自定义的状态获取函数中与所述目标信息种类对应的目标状态获取代码段,以获得内核对应的内存中属于所述目标信息种类的TCP状态信息,包括:
[0024]依据所述待查询的TCP连接的标识,调用所述TCP状态获取接口,并运行所述TCP状态获取接口指向的所述自定义的状态获取函数中与所述目标信息种类对应的目标状态获取代码段,以通过运行所述目标状态获取代码段从内核对应的内存中获取与所述标识以及目标信息种类对应的TCP状态信息。
[0025]又一方面,本申请还提供了一种获取TCP状态信息的装置,包括:
[0026]请求获得单元,用于获得函数配置请求,所述函数配置请求携带有自定义的状态获取函数的函数地址,所述状态获取函数包括至少一套状态获取代码段,每套状态获取代码段用于从内核对应的内存中获取一种信息种类的TCP状态信息;
[0027]地址获取单元,用于响应于所述函数配置请求,获取内核符号表中TCP状态获取接口的接口地址;
[0028]接口定位单元,用于依据所述TCP状态获取接口的接口地址,定位所述TCP状态获取接口;
[0029]函数重定向单元,用于将所述TCP状态获取接口指向的函数地址更改为所述自定义的状态获取函数的函数地址,以通过调用所述TCP状态获取接口运行所述自定义的状态获取函数中的所述状态获取代码段,并获得所述状态获取代码段对应信息种类的TCP状态信息。
[0030]在一种可能的实现方式中,该装置还包括:
[0031]指令获得单元,用于获取TCP状态查询指令,所述TCP状态查询指令指示有待查询的TCP状态信息的目标信息种类;
[0032]第一状态获取单元,用于响应于所述TCP状态查询指令,通过调用所述TCP状态获取接口,运行所述自定义的状态获取函数中与所述目标信息种类对应的目标状态获取代码段,以获得内核对应的内存中属于所述目标信息种类的TCP状态信息。
[0033]又一方面,本申请还提供了一种计算机设备,包括:
[0034]处理器和存储器;
[0035]所述处理器,用于调用并执行所述存储器中存储的程序;
[0036]所述存储器用于存储所述程序,所述程序至少用于:
[0037]获得函数配置请求,所述函数配置请求携带有自定义的状态获取函数的函数地址,所述状态获取函数包括至少一套状态获取代码段,每套状态获取代码段用于从内核对应的内存中获取一种信息种类的TCP状态信息;
[0038]响应于所述函数配置请求,获取内核符号表中TCP状态获取接口的接口地址;
[0039]依本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种获取TCP状态信息的方法,其特征在于,包括:获得函数配置请求,所述函数配置请求携带有自定义的状态获取函数的函数地址,所述状态获取函数包括至少一套状态获取代码段,每套状态获取代码段用于从内核对应的内存中获取一种信息种类的TCP状态信息;响应于所述函数配置请求,获取内核符号表中TCP状态获取接口的接口地址;依据所述TCP状态获取接口的接口地址,定位所述TCP状态获取接口;将所述TCP状态获取接口指向的函数地址更改为所述自定义的状态获取函数的函数地址,以通过调用所述TCP状态获取接口运行所述自定义的状态获取函数中的所述状态获取代码段,并获得所述状态获取代码段对应信息种类的TCP状态信息。2.根据权利要求1所述的获取TCP状态信息的方法,其特征在于,所述获取内核符号表中TCP状态获取接口的接口地址,包括:调用内核中的符号表查找函数查询所述内核符号表,并从所述内核符号表包含的TCP协议栈的函数接口结构体中,获得所述TCP状态获取接口的接口地址。3.根据权利要求1所述的获取TCP状态信息的方法,其特征在于,还包括:获取TCP状态查询指令,所述TCP状态查询指令指示有待查询的TCP状态信息的目标信息种类;响应于所述TCP状态查询指令,通过调用所述TCP状态获取接口,运行所述自定义的状态获取函数中与所述目标信息种类对应的目标状态获取代码段,以获得内核对应的内存中属于所述目标信息种类的TCP状态信息。4.根据权利要求3所述的获取TCP状态信息的方法,其特征在于,在调用所述TCP状态获取接口之前,还包括:检测所述目标信息种类是否属于所述TCP状态获取接口对应的标准信息种类,其中,所述标准信息种类为在将所述TCP状态获取接口指向的函数地址更改为所述自定义的状态获取函数的函数地址之前,调用所述TCP状态获取接口所能获取到TCP状态信息的信息种类;所述通过调用所述TCP状态获取接口,运行所述自定义的状态获取函数中与所述目标信息种类对应的目标状态获取代码段,包括:如果所述目标信息种类不属于所述标准信息种类,通过调用所述TCP状态获取接口,运行所述自定义的状态获取函数中与所述目标信息种类对应的目标状态获取代码段。5.根据权利要求4所述的获取TCP状态信息的方法,其特征在于,还包括:如果所述目标信息种类属于所述标准信息种类,则依据存储的标准状态获取函数的函数地址,调用并运行所述标准状态获取函数中与所述目标信息种类对应的标准状态获取代码段,并通过运行所述标准状态获取代码段从内核对应的内存中获取属于所述目标信息种类的TCP状态信息,所述标准状态获取函数为在将所述TCP状态获取接口指向的函数地址更改为所述自定义的状态获取函数的函数地址之前,所述TCP状态获取接口所指向的状态获取函数。6.根据权利要求3所述的获取TCP状态信息的方法,其特征在于,所述TCP状态查询指令还携带有待查询的TCP连接的标...

【专利技术属性】
技术研发人员:韩瑞刘泓昊
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1