CN109257254B - 网络连通性检查方法、装置、计算机设备以及存储介质 - Google Patents
网络连通性检查方法、装置、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN109257254B CN109257254B CN201811106477.2A CN201811106477A CN109257254B CN 109257254 B CN109257254 B CN 109257254B CN 201811106477 A CN201811106477 A CN 201811106477A CN 109257254 B CN109257254 B CN 109257254B
- Authority
- CN
- China
- Prior art keywords
- information
- server
- network
- data packet
- port
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- 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/14—Arrangements for monitoring or testing data switching networks using software, i.e. software packages
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种网络连通性检查方法、装置、计算机设备以及存储介质,其中,所述方法包括:使用预设抓包工具抓取目标应用的网络数据包;提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库;从所述目标数据库中获取所述目标应用对应的所述地址信息和端口信息,并将所述地址信息和端口信息进行拼装得到关联信息;使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测;根据所述关联信息的检测结果对所述目标应用进行网络连通性检查。本实施例可以快速定位应用的网络故障点,并且可以实现应用的网络连通性检查的自动化过程,以提高应用的网络连通性检查的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种网络连通性检查方法、装置、计算机设备以及存储介质。
背景技术
目前,应用的网络连通性是应用进行网络连接至关重要的一环,一旦应用的网络连接故障,必然导致应用的消息传输失败、视频播放中断等问题,若不能及时解决,势必影响用户的使用体验。
现有技术中,应用的网络连通性检查都是人工进行排查的,然而,应用中涉及较多的关联应用和关联组件,网络连通关系异常繁杂,利用人工进行排查无法在短时间内快速定位网络故障点,并且容易出现疏漏;另外,目前的人工排查手段会出现大量重复性的工作,导致应用的网络连通性检查的效率低下。
发明内容
有鉴于此,本发明实施例提供一种网络连通性检查方法、装置、计算机设备以及存储介质,可以实现自动的应用的网络连通性检查过程,提高应用的网络连通性检查的效率。
一方面,本发明实施例提供了一种网络连通性检查方法,该方法包括:
使用预设抓包工具抓取目标应用的网络数据包;
提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库;
从所述目标数据库中获取所述目标应用对应的所述地址信息和端口信息,并将所述地址信息和端口信息进行拼装得到关联信息;
使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测;
根据所述关联信息的检测结果对所述目标应用进行网络连通性检查。
另一方面,本发明实施例提供了一种网络连通性检查装置,所述装置包括:
抓取单元,用于使用预设抓包工具抓取目标应用的网络数据包;
上传单元,用于提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库;
拼装单元,用于从所述目标数据库中获取所述目标应用对应的所述地址信息和端口信息,并将所述地址信息和端口信息进行拼装得到关联信息;
检测单元,用于使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测;
执行单元,用于根据所述关联信息的检测结果对所述目标应用进行网络连通性检查。
又一方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的网络连通性检查方法。
再一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现如上所述的网络连通性检查方法。
本发明实施例提供一种网络连通性检查方法、装置、计算机设备以及存储介质,其中方法包括:使用预设抓包工具抓取目标应用的网络数据包;提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库;从所述目标数据库中获取所述目标应用对应的所述地址信息和端口信息,并将所述地址信息和端口信息进行拼装得到关联信息;使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测;根据所述关联信息的检测结果对所述目标应用进行网络连通性检查。本实施例可以快速定位应用的网络故障点,并且可以实现应用的网络连通性检查的自动化过程,以提高应用的网络连通性检查的效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网络连通性检查方法的应用场景示意图;
图2是本发明实施例提供的一种网络连通性检查方法的示意流程图;
图3是本发明实施例提供的一种网络连通性检查方法的另一示意流程图;
图4是本发明实施例提供的一种网络连通性检查方法的另一示意流程图;
图5是本发明实施例提供的一种网络连通性检查方法的另一示意流程图;
图6是本发明实施例提供的一种网络连通性检查装置的示意性框图;
图7是本发明实施例提供的一种网络连通性检查装置的另一示意性框图;
图8是本发明实施例提供的一种网络连通性检查装置的另一示意性框图;
图9是本发明实施例提供的一种网络连通性检查装置的另一示意性框图;
图10是本发明实施例提供的一种计算机设备的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
请参阅图1和图2,图1为本发明实施例提供的一种网络连通性检查方法的应用场景示意图,图2为本发明实施例提供的一种网络连通性检查方法的流程示意图。该网络连通性检查方法应用于服务器或终端中,其中终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。作为一应用,如图1所示,该网络连通性检查方法应用于服务器10中,该服务器10可以为分布式服务平台中的一台服务器,该服务器10执行针对每一关联信息的检测命令,若执行针对每一关联信息的检测命令完成,根据所生成的执行结果反馈至终端中,具体的,该服务器10可将每一关联信息的执行结果反馈于与其连接的终端的Ansible工具上。
需要说明的是,图2中仅仅示意出一台终端20,在实际操作过程中,服务器10可以将命令执行结果发送给多台终端20。
图2为本发明实施例提供的一种网络连通性检查方法的示意流程图。如图1所示,该方法包括以下步骤S101~S105。
S101,使用预设抓包工具抓取目标应用的网络数据包。
在本发明实施例中,所述预设抓包工具可以包括Charles抓包工具、Fiddler抓包工具等。其中,使用Charles抓包工具抓取目标应用网络数据包的过程为:当所述目标应用通过客户端向目标服务器发起数据包请求时,拦截客户端发起的数据包请求,并伪装成客户端向目标服务器进行请求,Charles抓包工具获取目标服务器返回的CA(CertificateAuthority,电子商务认证制授权机构)证书并且拦截目标服务器的响应,获取目标服务器证书公钥,然后自己制作一张证书,将目标服务器的证书替换后发送至客户端,接收客户端生成的对称密钥,并将该对称密钥发送至目标服务器以建立与客户端和目标服务器之间的连接关系,当目标应用通过客户端向目标服务器发起数据包请求时,便可以通过Charles抓包工具客户端与目标服务器之间的网络数据包;使用Fiddler抓包工具抓取目标应用网络数据包的过程为:通过设置所述目标应用的代理地址,当所述目标应用通过客户端向目标服务器发起数据包请求时,Fiddler抓包工具截获客户端所发送的数据包请求,并向目标服务器发送请求进行握手,获取目标服务器的CA证书,用根证书公钥进行解密,验证目标服务器数据签名,获取目标服务器CA证书公钥,然后,Fiddler抓包工具通过伪造自己的CA证书,冒充目标服务器证书传递给客户端,目标应用通过客户端生成数据包通信用的对称密钥,用Fiddler抓包工具伪造的证书公钥加密后传递给目标服务器,被Fiddler抓包工具截获,Fiddler抓包工具将截获的密文用自己伪造证书的私钥解开,获得数据包通信用的对称密钥,并将对称密钥用目标服务器证书公钥加密传递给目标服务器,目标服务器用私钥解开后建立信任,握手完成,并建立Fiddler抓包工具与客户端和目标服务器之间的连接,便可以通过Charles抓包工具客户端与目标服务器之间的网络数据包。
需要说明的是,抓取目标应用的网络数据包的方法还可以通过基于python的scapy库进行抓包,具体的,可以利用scapy库中的sniff()函数进行抓包。
S102,提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库。
在本发明实施例中,所述地址信息包括源IP(Internet Protocol,互联网协议)地址以及目的IP地址,所述端口信息包括源端口号以及目标端口号。其中,所述地址信息存储于所述网络数据包的包头字段,所述端口信息存储于所述网络数据包的TCP(TransmissionControl Protocol,传输控制协议)字段。将提取的所述地址信息和端口信息上传至目标数据库,所述目标数据库包括Oracle数据库、MySQL数据库等。
进一步地,请参阅图3,所述步骤S102包括步骤S202~S206。
S202,对所述网络数据包进行解封装。
在本发明实施例中,在提取所述网络数据包的地址信息和端口信息之前,需要预先对网络数据包进行解封装,具体的,对一个已封装的网络数据包,从左至右依次包括数据包包头、IP首部、TCP首部、网络数据以及数据包尾部,对已封装的网络数据包进行解封装的过程是将各部分分别进行剥离,并得到数据包包头、IP首部、TCP首部、网络数据以及数据包尾部,其中,网络数据包的地址信息存储于数据包包头对应的包头字段中,网络数据包的端口信息存储于TCP首部对应的TCP字段中。
S204,从所述已解封的网络数据包的包头字段中提取所述地址信息,以及从所述已解封的网络数据包的TCP字段中提取所述端口信息。
在本发明实施例中,在包头字段中提取的地址信息包括网络数据包的源IP地址以及目的IP地址,其中,源IP地址用于指示发出该网络数据包的IP地址,目的IP地址用于指示该网络数据包所要发送的IP地址,并且源IP地址和目的IP地址在该网络数据包传输过程中不会改变;在包头字段中提取的端口信息包括网络数据包的源端口号以及目的端口号,其中,源端口号用于指示发出该网络数据包的本地端口,目的端口号用于指示该网络数据包所要发送的远程端口。
S206,将所述地址信息和所述端口信息上传到目标数据库。
在本发明实施例中,所述目标数据库为Oracle数据库,可以通过python连接Oracle数据库,将所述地址信息和所述端口信息上传到Oracle数据库中。具体的,利用python连接Oracle数据库的具体过程为:首先下载并安装Oracle数据库的cx_Oracle驱动,并对安装后的cx_Oracle驱动进行验证,然后创建数据库连接connect完成python与Oracle数据库的连接,最后在Oracle数据库创建SQL语句,并通过所创建的SQL语句将地址信息和端口信息上传到Oracle数据库中。
S103,从所述目标数据库中获取所述目标应用对应的所述地址信息和端口信息,并将所述地址信息和端口信息进行拼装得到关联信息。
在本发明实施例中,通过创建SQL语句获取目标数据库中存储的地址信息和端口信息,并将所获取的地址信息和端口信息进行拼装得到关联信息。
在一个实施例中,所述将所述地址信息和端口信息进行拼装得到关联信息的步骤,包括:使用预设拼装字符将所述地址信息和端口信息进行拼装得到关联信息。具体的,预设拼装字符可以为“_”字符,例如,源IP地址为1.1.1.1,目的IP地址为2.2.2.2,源端口号为80,目的端口号为90,使用“_”字符进行拼装并得到的关联信息为_1.1.1.1_2.2.2.2_80_90。
在一个实施例中,所述将所述地址信息和端口信息进行拼装得到关联信息的步骤,包括:使用预设拼装函数将所述地址信息和端口信息进行拼装得到关联信息。具体的,预设拼装函数可以为join()函数或者format()函数;对于join()函数,拼装格式为'sep'.join(seq),其中,sep表示分隔符,seq表示要拼装的字符串,例如'%'.join('1.1.1.1','2.2.2.2','80','90')拼装后得到的关联信息为1.1.1.1%2.2.2.2%80%90;对于format()函数,拼装格式为<模板字符串>.format(<逗号分隔的参数>),例如"{}&{}&{}&{}".format('1.1.1.1','2.2.2.2','80','90')拼装后得到的关联信息为1.1.1.1&2.2.2.2&80&90。
S104,使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测。
在本发明实施例中,Ansible工具是自动化运维工具,通过Ansible工具可以实现远程连接并登录服务器,并对批量上传数据、文件至服务器进行相应处理。本实施例中,通过Ansible工具连接并登录服务器,将关联信息批量上传至服务器,并通过服务器对关联信息执行检测命令,以判断网络数据包出现网络异常的故障点。其中,在服务器中对关联信息执行的检测命令可以是nmap命令。例如,需要检测目的IP地址为2.2.2.2,端口号为90的端口是否联通,可以使用nmap-p 902.2.2.2进行检测。
需要说明的是,在本实施例中,在服务器中可以使用多个nmap命令分别对一个关联信息中目的IP地址、源IP地址、源端口以及目的端口进行检测。
进一步地,请参阅图4,所述步骤S104包括步骤S302~S304。
S302,利用Ansible工具中的预设连接协议连接并登录所述服务器。
在本发明实施例中,预设连接协议为SSH(Secure Shell,安全外壳)协议。
S304,利用Ansible工具中的预设数据接口将所述关联信息上传至所述服务器以使所述服务器对所述关联信息执行nmap命令。
在本发明实施例中,预设数据接口为Ansible工具的copy模块,通过copy模块,可以将关联信息批量复制到服务器。在所述服务器中,对Ansible工具上传的所述关联信息执行nmap命令以检测所述目标应用的网络数据包出现网络异常的故障点。
S105,根据所述关联信息的检测结果对所述目标应用进行网络连通性检查。
在本发明实施例中,在服务器中对关联信息执行nmap命令得到检测结果,所述服务器将所述关联信息的执行结果反馈至Ansible工具中;该检测结果包括目的IP地址的连通结果,源IP地址的连通结果,源端口的连通结果以及目的端口的连通结果,更具体的,由于nmap命令是针对具体的地址信息或者端口信息进行检测,因此通过nmap命令的检测结果可以定位到具体为哪个目的IP地址、源IP地址或者端口出现连通故障。
进一步地,请参阅图5,所述步骤S105包括步骤S402~S404。
S402,若检测到所述目标应用产生网络异常,根据所述关联信息的检测结果确定所述目标应用的网络故障点。
在本发明实施例中,若目标应用产生网络异常,通过对关联信息执行nmap命令,可以针对具体的地址信息或者端口信息进行检测,从而确定所述目标应用的网络故障点。
S404,根据所确定的网络故障点对所述目标应用进行网络连通性检查。
在本发明实施例中,通过准确定位网络故障点并向相关运维人员提示,使得相关运维人员快速对网络故障点进行处理,并完成网络连通性的检查。
由以上可见,本发明实施例通过使用预设抓包工具抓取目标应用的网络数据包;提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库;从所述目标数据库中获取所述目标应用对应的所述地址信息和端口信息,并将所述地址信息和端口信息进行拼装得到关联信息;使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测;根据所述关联信息的检测结果对所述目标应用进行网络连通性检查。本实施例可以快速定位应用的网络故障点,并且可以实现应用的网络连通性检查的自动化过程,以提高应用的网络连通性检查的效率。
请参阅图6,对应上述一种网络连通性检查方法,本发明实施例还提出一种网络连通性检查装置,该装置100包括:抓取单元101、上传单元102、拼装单元103、检测单元104、执行单元105。
其中,所述抓取单元101,用于使用预设抓包工具抓取目标应用的网络数据包。在本发明实施例中,所述预设抓包工具可以包括Charles抓包工具、Fiddler抓包工具等。其中,使用Charles抓包工具抓取目标应用网络数据包的过程为:当所述目标应用通过客户端向目标服务器发起数据包请求时,拦截客户端发起的数据包请求,并伪装成客户端向目标服务器进行请求,Charles抓包工具获取目标服务器返回的CA(Certificate Authority,电子商务认证制授权机构)证书并且拦截目标服务器的响应,获取目标服务器证书公钥,然后自己制作一张证书,将目标服务器的证书替换后发送至客户端,接收客户端生成的对称密钥,并将该对称密钥发送至目标服务器以建立与客户端和目标服务器之间的连接关系,当目标应用通过客户端向目标服务器发起数据包请求时,便可以通过Charles抓包工具客户端与目标服务器之间的网络数据包;使用Fiddler抓包工具抓取目标应用网络数据包的过程为:通过设置所述目标应用的代理地址,当所述目标应用通过客户端向目标服务器发起数据包请求时,Fiddler抓包工具截获客户端所发送的数据包请求,并向目标服务器发送请求进行握手,获取目标服务器的CA证书,用根证书公钥进行解密,验证目标服务器数据签名,获取目标服务器CA证书公钥,然后,Fiddler抓包工具通过伪造自己的CA证书,冒充目标服务器证书传递给客户端,目标应用通过客户端生成数据包通信用的对称密钥,用Fiddler抓包工具伪造的证书公钥加密后传递给目标服务器,被Fiddler抓包工具截获,Fiddler抓包工具将截获的密文用自己伪造证书的私钥解开,获得数据包通信用的对称密钥,并将对称密钥用目标服务器证书公钥加密传递给目标服务器,目标服务器用私钥解开后建立信任,握手完成,并建立Fiddler抓包工具与客户端和目标服务器之间的连接,便可以通过Charles抓包工具客户端与目标服务器之间的网络数据包。
需要说明的是,抓取目标应用的网络数据包的方法还可以通过基于python的scapy库进行抓包,具体的,可以利用scapy库中的sniff()函数进行抓包。
上传单元102,用于提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库。在本发明实施例中,所述地址信息包括源IP(Internet Protocol,互联网协议)地址以及目的IP地址,所述端口信息包括源端口号以及目标端口号。其中,所述地址信息存储于所述网络数据包的包头字段,所述端口信息存储于所述网络数据包的TCP(Transmission Control Protocol,传输控制协议)字段。将提取的所述地址信息和端口信息上传至目标数据库,所述目标数据库包括Oracle数据库、MySQL数据库等。
拼装单元103,用于从所述目标数据库中获取所述目标应用对应的所述地址信息和端口信息,并将所述地址信息和端口信息进行拼装得到关联信息。在本发明实施例中,通过创建SQL语句获取目标数据库中存储的地址信息和端口信息,并将所获取的地址信息和端口信息进行拼装得到关联信息。
在一个实施例中,所述拼装单元103具体用于:使用预设拼装字符将所述地址信息和端口信息进行拼装得到关联信息。具体的,预设拼装字符可以为“_”字符,例如,源IP地址为1.1.1.1,目的IP地址为2.2.2.2,源端口号为80,目的端口号为90,使用“_”字符进行拼装并得到的关联信息为_1.1.1.1_2.2.2.2_80_90。
在一个实施例中,所述拼装单元103具体用于:使用预设拼装函数将所述地址信息和端口信息进行拼装得到关联信息。具体的,预设拼装函数可以为join()函数或者format()函数;对于join()函数,拼装格式为'sep'.join(seq),其中,sep表示分隔符,seq表示要拼装的字符串,例如'%'.join('1.1.1.1','2.2.2.2','80','90')拼装后得到的关联信息为1.1.1.1%2.2.2.2%80%90;对于format()函数,拼装格式为<模板字符串>.format(<逗号分隔的参数>),例如"{}&{}&{}&{}".format('1.1.1.1','2.2.2.2','80','90')拼装后得到的关联信息为1.1.1.1&2.2.2.2&80&90。
检测单元104,用于使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测。在本发明实施例中,Ansible工具是自动化运维工具,通过Ansible工具可以实现远程连接并登录服务器,并对批量上传数据、文件至服务器进行相应处理。本实施例中,通过Ansible工具连接并登录服务器,将关联信息批量上传至服务器,并通过服务器对关联信息执行检测命令,以判断网络数据包出现网络异常的故障点。其中,在服务器中对关联信息执行的检测命令可以是nmap命令。例如,需要检测目的IP地址为2.2.2.2,端口号为90的端口是否联通,可以使用nmap-p 902.2.2.2进行检测。
需要说明的是,在本实施例中,在服务器中可以使用多个nmap命令分别对一个关联信息中目的IP地址、源IP地址、源端口以及目的端口进行检测。
执行单元105,用于根据所述关联信息的检测结果对所述目标应用进行网络连通性检查。在本发明实施例中,在服务器中对关联信息执行nmap命令得到检测结果,该检测结果包括目的IP地址的连通结果,源IP地址的连通结果,源端口的连通结果以及目的端口的连通结果,更具体的,由于nmap命令是针对具体的地址信息或者端口信息进行检测,因此通过nmap命令的检测结果可以定位到具体为哪个目的IP地址、源IP地址或者端口出现连通故障。
由以上可见,本发明实施例通过使用预设抓包工具抓取目标应用的网络数据包;提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库;从所述目标数据库中获取所述目标应用对应的所述地址信息和端口信息,并将所述地址信息和端口信息进行拼装得到关联信息;使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测;根据所述关联信息的检测结果对所述目标应用进行网络连通性检查。本实施例可以快速定位应用的网络故障点,并且可以实现应用的网络连通性检查的自动化过程,以提高应用的网络连通性检查的效率。
请参阅图7,所述上传单元102,包括:
解封装单元102a,用于对所述网络数据包进行解封装。在本发明实施例中,在提取所述网络数据包的地址信息和端口信息之前,需要预先对网络数据包进行解封装,具体的,对一个已封装的网络数据包,从左至右依次包括数据包包头、IP首部、TCP首部、网络数据以及数据包尾部,对已封装的网络数据包进行解封装的过程是将各部分分别进行剥离,并得到数据包包头、IP首部、TCP首部、网络数据以及数据包尾部,其中,网络数据包的地址信息存储于数据包包头对应的包头字段中,网络数据包的端口信息存储于TCP首部对应的TCP字段中。
提取单元102b,用于从所述已解封的网络数据包的包头字段中提取所述地址信息,以及从所述已解封的网络数据包的TCP字段中提取所述端口信息。在本发明实施例中,在包头字段中提取的地址信息包括网络数据包的源IP地址以及目的IP地址,其中,源IP地址用于指示发出该网络数据包的IP地址,目的IP地址用于指示该网络数据包所要发送的IP地址,并且源IP地址和目的IP地址在该网络数据包传输过程中不会改变;在包头字段中提取的端口信息包括网络数据包的源端口号以及目的端口号,其中,源端口号用于指示发出该网络数据包的本地端口,目的端口号用于指示该网络数据包所要发送的远程端口。
上传子单元102c,用于将所述地址信息和所述端口信息上传到目标数据库。在本发明实施例中,所述目标数据库为Oracle数据库,可以通过python连接Oracle数据库,将所述地址信息和所述端口信息上传到Oracle数据库中。具体的,利用python连接Oracle数据库的具体过程为:首先下载并安装Oracle数据库的cx_Oracle驱动,并对安装后的cx_Oracle驱动进行验证,然后创建数据库连接connect完成python与Oracle数据库的连接,最后在Oracle数据库创建SQL语句,并通过所创建的SQL语句将地址信息和端口信息上传到Oracle数据库中。
请参阅图8,所述检测单元104,包括:
登录单元104a,,用于利用Ansible工具中的预设连接协议连接并登录所述服务器。在本发明实施例中,预设连接协议为SSH(Secure Shell,安全外壳)协议。
信息上传单元104b,用于利用Ansible工具中的预设数据接口将所述关联信息上传至所述服务器以使所述服务器对所述关联信息执行nmap命令。在本发明实施例中,预设数据接口为Ansible工具的copy模块,通过copy模块,可以将关联信息批量复制到服务器。在所述服务器中,对Ansible工具上传的所述关联信息执行nmap命令以检测所述目标应用的网络数据包出现网络异常的故障点。
请参阅图9,所述执行单元105,包括:
确定单元105a,若检测到所述目标应用产生网络异常,根据所述关联信息的检测结果确定所述目标应用的网络故障点。在本发明实施例中,若目标应用产生网络异常,通过对关联信息执行nmap命令,可以针对具体的地址信息或者端口信息进行检测,从而确定所述目标应用的网络故障点。
执行子单元105b,根据所确定的网络故障点对所述目标应用进行网络连通性检查。在本发明实施例中,通过准确定位网络故障点并向相关运维人员提示,使得相关运维人员快速对网络故障点进行处理,并完成网络连通性的检查。
上述网络连通性检查装置与上述网络连通性检查方法一一对应,其具体的原理和过程与上述实施例所述方法相同,不再赘述。
上述网络连通性检查装置可以实现为一种计算机程序的形式,计算机程序可以在如图10所示的计算机设备上运行。
图10为本发明一种计算机设备的结构组成示意图。该设备可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式装置等具有通信功能的电子装置。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参照图10,该计算机设备500包括通过系统总线501连接的处理器502、非易失性存储介质503、内存储器504和网络接口505。其中,该计算机设备500的非易失性存储介质503可存储操作系统5031和计算机程序5032,该计算机程序5032被执行时,可使得处理器502执行一种网络连通性检查方法。该计算机设备500的处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序被处理器执行时,可使得处理器502执行一种网络连通性检查方法。计算机设备500的网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502执行所述计算机程序时实现如下操作:
使用预设抓包工具抓取目标应用的网络数据包;
提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库;
从所述目标数据库中获取所述目标应用对应的所述地址信息和端口信息,并将所述地址信息和端口信息进行拼装得到关联信息;
使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测;
根据所述关联信息的检测结果对所述目标应用进行网络连通性检查。
在一个实施例中,所述提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库,包括:
对所述网络数据包进行解封装;
从所述已解封的网络数据包的包头字段中提取所述地址信息,以及从所述已解封的网络数据包的TCP字段中提取所述端口信息;
将所述地址信息和所述端口信息上传到目标数据库。
在一个实施例中,所述将所述地址信息和端口信息进行拼装得到关联信息,包括:
使用预设拼装字符将所述地址信息和端口信息进行拼装得到关联信息。
在一个实施例中,所述将所述地址信息和端口信息进行拼装得到关联信息,包括:
使用预设拼装函数将所述地址信息和端口信息进行拼装得到关联信息。
在一个实施例中,所述使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测,包括:
利用Ansible工具中的预设连接协议连接并登录所述服务器;
利用Ansible工具中的预设数据接口将所述关联信息上传至所述服务器以使所述服务器对所述关联信息执行nmap命令。
在一个实施例中,所述根据所述关联信息的检测结果对所述目标应用进行网络连通性检查,包括:
若检测到所述目标应用产生网络异常,根据所述关联信息的检测结果确定所述目标应用的网络故障点;
根据所确定的网络故障点对所述目标应用进行网络连通性检查。
本领域技术人员可以理解,图10中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图10所示实施例一致,在此不再赘述。
本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现以下步骤:
使用预设抓包工具抓取目标应用的网络数据包;
提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库;
从所述目标数据库中获取所述目标应用对应的所述地址信息和端口信息,并将所述地址信息和端口信息进行拼装得到关联信息;
使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测;
根据所述关联信息的检测结果对所述目标应用进行网络连通性检查。
在一个实施例中,所述提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库,包括:
对所述网络数据包进行解封装;
从所述已解封的网络数据包的包头字段中提取所述地址信息,以及从所述已解封的网络数据包的TCP字段中提取所述端口信息;
将所述地址信息和所述端口信息上传到目标数据库。
在一个实施例中,所述将所述地址信息和端口信息进行拼装得到关联信息,包括:
使用预设拼装字符将所述地址信息和端口信息进行拼装得到关联信息。
在一个实施例中,所述将所述地址信息和端口信息进行拼装得到关联信息,包括:
使用预设拼装函数将所述地址信息和端口信息进行拼装得到关联信息。
在一个实施例中,所述使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测,包括:
利用Ansible工具中的预设连接协议连接并登录所述服务器;
利用Ansible工具中的预设数据接口将所述关联信息上传至所述服务器以使所述服务器对所述关联信息执行nmap命令。
在一个实施例中,所述根据所述关联信息的检测结果对所述目标应用进行网络连通性检查,包括:
若检测到所述目标应用产生网络异常,根据所述关联信息的检测结果确定所述目标应用的网络故障点;
根据所确定的网络故障点对所述目标应用进行网络连通性检查。
本发明前述的存储介质包括:磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等各种可以存储程序代码的介质。
本发明所有实施例中的单元可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本发明实施例网络连通性检查方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例网络连通性检查装置中的单元可以根据实际需要进行合并、划分和删减。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种网络连通性检查方法,其特征在于,所述方法包括:
使用预设抓包工具抓取目标应用的网络数据包;
提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库;
从所述目标数据库中获取所述目标应用对应的所述地址信息和端口信息,并将所述地址信息和端口信息进行拼装得到关联信息;
使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测;
根据所述关联信息的检测结果对所述目标应用进行网络连通性检查,所述检测结果包括目的IP地址的连通结果,源IP地址的连通结果,源端口的连通结果以及目的端口的连通结果;
其中,所述使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测,包括:
利用Ansible工具中的预设连接协议连接并登录所述服务器;
利用Ansible工具中的预设数据接口将所述关联信息上传至所述服务器以使所述服务器对所述关联信息执行nmap命令,其中,对所述Ansible工具上传的所述关联信息执行nmap命令以检测所述目标应用的网络数据包出现网络异常的故障点。
2.如权利要求1所述的方法,其特征在于,所述提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库,包括:
对所述网络数据包进行解封装;
从所述已解封的网络数据包的包头字段中提取所述地址信息,以及从所述已解封的网络数据包的TCP字段中提取所述端口信息;
将所述地址信息和所述端口信息上传到目标数据库。
3.如权利要求1所述的方法,其特征在于,所述将所述地址信息和端口信息进行拼装得到关联信息,包括:
使用预设拼装字符将所述地址信息和端口信息进行拼装得到关联信息。
4.如权利要求1所述的方法,其特征在于,所述将所述地址信息和端口信息进行拼装得到关联信息,包括:
使用预设拼装函数将所述地址信息和端口信息进行拼装得到关联信息。
5.如权利要求1所述的方法,其特征在于,所述根据所述关联信息的检测结果对所述目标应用进行网络连通性检查,包括:
若检测到所述目标应用产生网络异常,根据所述关联信息的检测结果确定所述目标应用的网络故障点;
根据所确定的网络故障点对所述目标应用进行网络连通性检查。
6.一种网络连通性检查装置,其特征在于,所述装置包括:
抓取单元,用于使用预设抓包工具抓取目标应用的网络数据包;
上传单元,用于提取所述网络数据包对应的地址信息和端口信息,并将所述地址信息和端口信息上传至目标数据库;
拼装单元,用于从所述目标数据库中获取所述目标应用对应的所述地址信息和端口信息,并将所述地址信息和端口信息进行拼装得到关联信息;
检测单元,用于使用Ansible工具登录服务器,并将所述关联信息上传至所述服务器进行检测;
执行单元,用于根据所述关联信息的检测结果对所述目标应用进行网络连通性检查,所述检测结果包括目的IP地址的连通结果,源IP地址的连通结果,源端口的连通结果以及目的端口的连通结果;
其中,所述检测单元,包括:
登录单元,用于利用Ansible工具中的预设连接协议连接并登录所述服务器;
信息上传单元,用于利用Ansible工具中的预设数据接口将所述关联信息上传至所述服务器以使所述服务器对所述关联信息执行nmap命令,其中,对所述Ansible工具上传的所述关联信息执行nmap命令以检测所述目标应用的网络数据包出现网络异常的故障点。
7.如权利要求6所述的装置,其特征在于,所述上传单元,包括:
解封装单元,用于对所述网络数据包进行解封装;
提取单元,用于从所述已解封的网络数据包的包头字段中提取所述地址信息,以及从所述已解封的网络数据包的TCP字段中提取所述端口信息;
上传子单元,用于将所述地址信息和所述端口信息上传到目标数据库。
8.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5任一项所述的网络连通性检查方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现如权利要求1-5任一项所述的网络连通性检查方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811106477.2A CN109257254B (zh) | 2018-09-21 | 2018-09-21 | 网络连通性检查方法、装置、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811106477.2A CN109257254B (zh) | 2018-09-21 | 2018-09-21 | 网络连通性检查方法、装置、计算机设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109257254A CN109257254A (zh) | 2019-01-22 |
CN109257254B true CN109257254B (zh) | 2022-02-15 |
Family
ID=65048449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811106477.2A Active CN109257254B (zh) | 2018-09-21 | 2018-09-21 | 网络连通性检查方法、装置、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109257254B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981378A (zh) * | 2019-04-16 | 2019-07-05 | 陈麒任 | 一种基于树莓派的网络检测分析工具及其使用方法 |
CN112565019B (zh) * | 2020-12-04 | 2022-07-15 | 浪潮电子信息产业股份有限公司 | 一种检测数据库连通性的方法、系统及电子设备 |
CN114039917A (zh) * | 2021-11-26 | 2022-02-11 | 中国电信集团系统集成有限责任公司 | 一种网络流量调度综合判定方法及系统 |
CN114221808B (zh) * | 2021-12-14 | 2024-02-06 | 平安壹钱包电子商务有限公司 | 安全策略部署方法、装置、计算机设备及可读存储介质 |
CN114338470A (zh) * | 2021-12-21 | 2022-04-12 | 中电信数智科技有限公司 | 一种端口网络流量调度判定方法及系统 |
CN114422242A (zh) * | 2022-01-19 | 2022-04-29 | 闪捷信息科技有限公司 | 一种异常流量识别方法、客户端及服务器 |
CN114826969B (zh) * | 2022-03-17 | 2024-02-06 | 阿里巴巴(中国)有限公司 | 网络连通性检查方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015010229A1 (zh) * | 2013-07-22 | 2015-01-29 | 华为技术有限公司 | 无线网络故障诊断方法和设备 |
CN105656730A (zh) * | 2016-04-12 | 2016-06-08 | 北京北信源软件股份有限公司 | 一种基于tcp数据包的网络应用快速发现方法和系统 |
CN106027321A (zh) * | 2016-07-26 | 2016-10-12 | 上海携程商务有限公司 | 网络拓扑结构的自动生成方法和系统 |
CN108270631A (zh) * | 2016-12-30 | 2018-07-10 | 上海华讯网络系统有限公司 | 网络系统中的应用系统与数据包关联的分析系统及方法 |
CN108259462A (zh) * | 2017-11-29 | 2018-07-06 | 国网吉林省电力有限公司信息通信公司 | 基于海量网络监测数据的大数据安全分析系统 |
-
2018
- 2018-09-21 CN CN201811106477.2A patent/CN109257254B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109257254A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109257254B (zh) | 网络连通性检查方法、装置、计算机设备以及存储介质 | |
CN107623698B (zh) | 远程调试网络设备方法和装置 | |
US10067787B2 (en) | Configurable forensic investigative tool | |
US10057298B2 (en) | Configurable investigative tool | |
CN107800663B (zh) | 流量离线文件的检测方法及装置 | |
WO2021083083A1 (zh) | 一种升级方法、系统、服务器及终端设备 | |
CN110324174B (zh) | 区块链环境检测方法、设备、装置及存储介质 | |
CN111726420A (zh) | 基于rpa的通信方法、装置、设备及存储介质 | |
CN107070931B (zh) | 云应用数据上传/访问方法、系统及云代理服务器 | |
CN112463281A (zh) | 远程协助方法、装置、系统、电子设备及存储介质 | |
CN106941418B (zh) | Ssl vpn配置信息的同步方法和装置 | |
CN112231209A (zh) | 参数获取方法、装置、计算机设备和存储介质 | |
US8972543B1 (en) | Managing clients utilizing reverse transactions | |
CN103997437A (zh) | 一种测试云服务器注册功能的方法 | |
CN109787963A (zh) | 业务办理方法、装置、计算机设备和存储介质 | |
CN105812380A (zh) | 验证方法及装置 | |
CN113129002A (zh) | 一种数据处理方法以及设备 | |
CN114830572A (zh) | 一种数据传输方法、装置、设备、系统及存储介质 | |
WO2022257927A1 (zh) | 密钥烧录方法、装置、电子设备板卡及存储介质 | |
CN113315795B (zh) | 云主机镜像的同步方法、装置和存储介质 | |
CN112804201B (zh) | 一种获取设备信息的方法及装置 | |
CN114619462A (zh) | 一种基于机器人流程自动化的远程桌面控制方法 | |
CN114257632A (zh) | 断线重连的方法、装置、电子设备及可读存储介质 | |
CN113037526B (zh) | 一种安全检测方法、终端、系统及存储介质 | |
JP2014078126A (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 |