CN103368783B - 一种网络通信过程的监听方法、系统和设备 - Google Patents
一种网络通信过程的监听方法、系统和设备 Download PDFInfo
- Publication number
- CN103368783B CN103368783B CN201210083374.5A CN201210083374A CN103368783B CN 103368783 B CN103368783 B CN 103368783B CN 201210083374 A CN201210083374 A CN 201210083374A CN 103368783 B CN103368783 B CN 103368783B
- Authority
- CN
- China
- Prior art keywords
- network communication
- application server
- communication data
- application
- processing device
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 234
- 238000000034 method Methods 0.000 title claims abstract description 117
- 238000012544 monitoring process Methods 0.000 title claims abstract description 46
- 238000004891 communication Methods 0.000 claims abstract description 185
- 238000012545 processing Methods 0.000 claims abstract description 76
- 230000002452 interceptive effect Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 4
- 230000007613 environmental effect Effects 0.000 abstract 1
- 238000011161 development Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 235000014510 cooky Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种网络通信过程的监听方法、系统和设备,该方法应用于包括处理装置和多个应用服务器的网络系统中,且多个应用服务器上分别部署有监听器,多个应用服务器中有用于获得数据的第一应用服务器以及用于提供数据的第二应用服务器;该方法包括以下步骤:处理装置接收监听器获得的第一应用服务器发送的用于获得数据的网络通信数据包,第一应用服务器发送的用于获得数据的网络通信数据包是第一应用服务器与其他的第二应用服务器进行通信以获得数据时发送的;处理装置利用网络通信数据包对第一应用服务器的网络通信过程进行监听。本申请实施例中,各应用服务器的部署方式可以根据需要任意部署,没有特殊环境要求。
Description
技术领域
本申请涉及计算机技术领域,尤其是涉及了一种网络通信过程的监听方法、系统和设备。
背景技术
如图1所示,为用户通过浏览器浏览Web系统数据的流程示意图,用户在通过URL(Uniform Resource Locator,统一资源定位符)访问Web系统的网页时,会触发Web系统发送用于获取Web系统外部的Service(服务器)数据的HTTP(Hyper Text TransportProtocol,超文本传送协议)请求,并由该Web系统通过HTTP请求获取Web系统外部的Service的数据,将获取到的数据拼装成网页内容,并最终将该网页内容在用户的浏览器中展示。
需要注意的是,上述HTTP请求对用户是透明的,但开发工程师和测试工程师在测试或排查系统问题时,需要监控Web系统发送的HTTP请求,以确认HTTP请求的格式是否符合Service要求、返回的数据是否存在问题等。
监控Web系统发送的HTTP请求,方式一:开发工程师进行代码DEBUG(调试),步骤包括:(1)部署Web系统,多为本地环境部署;(2)使用开发环境集成工具,开启代码DEBUG模式;(3)在发送HTTP请求的代码处设置断点,如果有多处发送HTTP请求的代码,需要设置多个断点;(4)通过URL访问Web系统,在断点处查看DEBUG信息,确认发送的HTTP请求是否存在问题。
方式二:开发辅助工具Fiddler(Web调试代理),Fiddler使用代理服务器的方式监听Web系统发送的HTTP请求,步骤包括:(1)运行Fiddler;(2)Fiddler在本地端口8888开启代理服务;(3)Fiddler将系统代理设置为127.0.0.1:8888,即设置Fiddler为代理服务;(4)原先要经过代理服务的网络数据包,现在都将通过Fiddler进行中转;(5)Fiddler在中转过程中记录HTTP的数据包。
在实现本申请的过程中,发明人发现现有技术中至少存在以下问题:
方式一需要人工进行操作,对代码结构不熟悉时则无法设置断点,进而无法监控Web系统发送的HTTP请求;方式二能监听到的是需要通过代理进行通信的HTTP请求,无法监听不经过代理的HTTP请求;而且方式一和方式二都受限于本地进行监听调试,只能监听到本地系统发送出去的HTTP请求。
发明内容
本申请实施例提供一种网络通信过程的监听方法、系统和设备,以对网络通信过程中的HTTP请求进行监听。
为了达到上述目的,本申请实施例提供一种网络通信过程的监听方法,该方法应用于包括处理装置和多个应用服务器的网络系统中,所述多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;该方法包括以下步骤:
所述处理装置接收监听器获得的第一应用服务器发送的用于获得数据的网络通信数据包,其中,所述第一应用服务器发送的用于获得数据的网络通信数据包是所述第一应用服务器与其他的第二应用服务器进行通信以获得数据时发送的;
所述处理装置利用所述网络通信数据包对所述第一应用服务器的网络通信过程进行监听。
本申请实施例提供一种网络通信过程的监听方法,该方法应用于包括处理装置和多个应用服务器的网络系统中,且所述多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;该方法包括以下步骤:
监听器获得第一应用服务器发送的用于获得数据的网络通信数据包,其中,所述第一应用服务器发送的用于获得数据的网络通信数据包是所述第一应用服务器与其他的第二应用服务器进行通信以获得数据时发送的;
所述监听器将所述获得的网络通信数据包发送给所述处理装置。
本申请实施例提供一种网络通信过程的监听系统,包括处理装置和多个应用服务器,且所述多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;其中:
所述第一应用服务器,用于在与其他的第二应用服务器进行通信以获得数据时发送用于获得数据的网络通信数据包;
所述监听器,用于获得所述第一应用服务器发送的用于获得数据的网络通信数据包,并将所述获得的网络通信数据包发送给所述处理装置;
所述处理装置,用于接收所述网络通信数据包,并利用所述网络通信数据包对所述第一应用服务器的网络通信过程进行监听。
本申请实施例提供一种监听器,应用于包括处理装置和多个应用服务器的网络系统中,且所述多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;该监听器包括:
获得模块,用于获得第一应用服务器发送的用于获得数据的网络通信数据包,所述第一应用服务器发送的用于获得数据的网络通信数据包是所述第一应用服务器与其他的第二应用服务器进行通信以获得数据时发送的;
发送模块,用于将所述获得的网络通信数据包发送给所述处理装置。
本申请实施例提供一种处理装置,应用于包括所述处理装置和多个应用服务器的网络系统中,且所述多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;该处理装置包括:
接收模块,用于接收监听器获得的所述第一应用服务器发送的用于获得数据的网络通信数据包,其中,所述第一应用服务器发送的用于获得数据的网络通信数据包是所述第一应用服务器与其他的第二应用服务器进行通信以获得数据时发送的;
处理模块,用于利用所述网络通信数据包对所述第一应用服务器的网络通信过程进行监听。
与现有技术相比,本申请实施例至少具有以下优点:本申请实施例中,通过各应用服务器上部署的监听器获得应用服务器发送的网络通信数据包(如HTTP请求),以对网络通信过程中的HTTP请求进行监听,各应用服务器的部署方式可以根据需要任意部署,没有特殊环境(如本地环境)要求。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中用户通过浏览器浏览Web系统数据的流程示意图;
图2是本申请实施例一提供的应用场景示意图;
图3是本申请实施例一提供的一种网络通信过程的监听方法流程示意图;
图4是本申请实施例三提供的一种监听器的结构示意图;
图5是本申请实施例四提供的一种处理装置的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
本申请实施例一提供一种网络通信过程的监听方法,该方法应用于包括处理装置和多个应用服务器的网络系统中,且多个应用服务器上分别部署有监听器,各应用服务器上部署的监听器负责监听捕获指定进程的网络通信数据包,并将收集到的网络通信数据包发送给处理装置。
多个应用服务器中有用于获得数据的第一应用服务器以及用于提供该数据的第二应用服务器,即第一应用服务器需要从第二应用服务器上获得数据;需要注意的是,第一应用服务器和第二应用服务器是相对的,例如,当应用服务器1从应用服务器2上获得数据A时,应用服务器1为第一应用服务器,应用服务器2为第二应用服务器;当应用服务器2从应用服务器1上获得数据B时,应用服务器2为第一应用服务器,应用服务器1为第二应用服务器。
以图2为本申请实施例的应用场景示意图,该处理装置可以进一步包括共享平台和任务平台;在实际应用中,各应用服务器可以具体为Web系统(Web系统服务器)或者Service(Service服务器);需要说明的是,该共享平台和任务平台是本申请实施例中用于对网络通信过程进行监听时所设计的,共享平台和任务平台的具体实现和相关功能将在后续步骤中详细说明;且各第一应用服务器需要与其他的第二应用服务器进行通信以获得数据;例如,Web系统需要与Service进行通信以从Service获得相关数据,Service需要与其他Service进行通信以从其他Service获得相关数据。
本申请实施例中,第一应用服务器与其他的第二应用服务器进行通信以获得数据包括:处理装置接收客户端输入的URL信息,并通过URL信息触发第一应用服务器通过发送用于获得数据的网络通信数据包与其他的第二应用服务器进行通信以获得数据。
具体的,当处理装置进一步为共享平台和任务平台时,则该共享平台可以通过交互界面(该交互界面用于使客户端输入URL信息)接收客户端输入的URL信息,并将该URL信息发送给任务平台;之后,该任务平台可以接收到来自共享平台的URL信息,并将该URL信息发送给第一应用服务器,由该第一应用服务器利用URL信息向其他的第二应用服务器发送用于获得数据的网络通信数据包,以与其他的第二应用服务器进行通信以获得数据。
进一步的,在应用服务器具体为Web系统或者Service时,则该过程进一步包括:用户通过客户端登录共享平台,并在共享平台提供的交互界面上输入需要访问的Web系统的URL信息;共享平台将访问该URL信息的指示提交给任务平台;任务平台在接收到指示后,使用该URL信息触发相应的Web系统;之后Web系统执行内部逻辑,并与相应的Service进行通信以获得相关数据;Service在接收到来自Web系统的请求之后,执行内部逻辑,并与相应的其他Service进行通信以获得相关数据。
在上述实现过程中,任务平台使用该URL信息触发Web系统的过程可以使用Java实现;例如,任务平台使用HttpClient.execute(new HttpGet(URL))模拟HTTP请求Web系统;此外,对于需要验证Cookie的Web系统来说,任务平台还可以通过调用HttpGet.setHeader(“Cookie”,“...”)模拟用户的Cookie,以通过Web系统的认证。
基于上述应用场景以及分析过程,当在需要共享式监控的应用服务器上开启监听器之后,如图3所示,该网络通信过程的监听方法包括以下步骤:
步骤301,监听器获得第一应用服务器发送的用于获得数据的网络通信数据包,该第一应用服务器发送的用于获得数据的网络通信数据包是第一应用服务器与其他的第二应用服务器进行通信以获得数据时发送的;其中,该网络通信数据包具体包括但不限于HTTP请求消息。
例如,在Web系统执行内部逻辑,并与相应的Service进行通信以获得相关数据时,该Web系统上部署的监听器可以捕获该Web系统发送的用于获得数据的网络通信数据包;在Service执行内部逻辑,并与相应的其他Service进行通信以获得相关数据时,该Service上部署的监听器可以捕获该Service发送的用于获得数据的网络通信数据包。
本申请实施例中,为了获得第一应用服务器发送的网络通信数据包,监听器可以通过监听第一应用服务器上的指定进程获得第一应用服务器发送的网络通信数据包,其中,该指定进程具体用于发送网络通信数据包。
具体的,监听器通过监听第一应用服务器上的指定进程获得第一应用服务器发送的网络通信数据包的过程,包括如下步骤:
步骤1、监听器获得指定进程的名称;其中,在用户输入需要监控的Web系统的指定进程的名称之后,监听器可以获得指定进程的名称。
步骤2、监听器通过分析系统运行环境的进程信息获得指定进程的名称所对应的进程ID(标识);例如,在Windows平台下,监听器可以通过调用系统指令tasklist|findstr“ProcessName”获得指定进程的名称所对应的进程ID。
步骤3、监听器通过分析系统运行环境的网络连接信息获得进程ID所对应的网络通信过程的目标应用服务器的IP地址及端口;例如,在Windows平台下,监听器可以通过调用系统指令netstat-ano|findstr“ProcessID”获得进程ID所对应的网络通信过程的目标应用服务器的IP地址及端口。
步骤4、监听器监听第一应用服务器发送的对应IP地址及端口的网络通信数据包;其中,监听器在捕获到网络通信数据包时,判断该网络通信数据包是否对应用户输入的指定进程的名称,如果是,则需要监听该网络通信数据包,否则,不需要监听该网络通信数据包。
需要注意的是,虽然网络通信数据包无法标识指定进程的ID,但是由于上述步骤中已经得到指定进程的ID所对应的网络通信过程的目标应用服务器的IP地址及端口,而网络通信数据包中也存在目标应用服务器的IP地址及端口,因此可以通过网络通信数据包中记录的目标应用服务器的IP地址及端口以及指定进程的ID所对应的目标应用服务器的IP地址及端口,判断出网络通信数据包是否对应用户输入的指定进程的名称。
本申请实施例中,在第一应用服务器上还需要部署有WinPcap和JPcap,或者,LibPcap和JPcap;进一步的,基于此部署,该监听器可以通过调用WinPcap和JPcap监听第一应用服务器上的指定进程获得第一应用服务器发送的网络通信数据包;或者,该监听器可以通过调用LibPcap和JPcap监听第一应用服务器上的指定进程获得第一应用服务器发送的网络通信数据包。
在监听器监听第一应用服务器上的指定进程获得第一应用服务器发送的网络通信数据包的过程中,监听器通过调用JPcap监听第一应用服务器的网卡设备的网络通信数据包,其具体的启动过程为:扫描第一应用服务器的网络通信设备Jpcap.getDeviceList(),选择设备并打开Jpcap.openDevice(),监听设备进行的网络通信Jpcap.lookPacket()。
以下对LibPcap、WinPcap和JPcap进行说明。
(1)LibPcap:Unix/Linux平台下的网络通信数据包捕获函数包,包捕获机制是在数据链路层增加一个旁路处理,对发送和接收到的数据包做过滤/缓冲,并不影响操作系统对数据包的网络栈处理;此外,该LibPcap提供了独立于系统的用户级别网络数据包捕获接口,充分考虑到应用程序的可移植性,使应用程序只需要简单的调用若干函数就能获得所期望的数据包。
(2)WinPcap:Windows平台下的公共网络访问系统,为应用程序提供访问网络底层进行抓包和网络分析的能力;该WinPcap框架包含核心的网络数据包过滤器(NPF)、底层的访问NPF驱动的动态链接库(packet.dll)、高层的独立于系统运行的动态链接库(wpcap.dll);进一步的,NPF(Netgroup Packet Filter)负责处理网络上传输的数据包,并且对用户级提供可捕获、发送和分析性能;其中捕获数据包的过程是启动一个网络接口监视数据包,并将这些数据包完整无缺地投递给用户级应用程序;捕获操作依赖两个主要的组件,数据包过滤器(其决定着是否接收进来的数据包并把数据包拷贝给监听程序)和循环缓冲区(其用来保存数据包并且避免丢失)。
(3)JPcap:能够抓取与发送网络数据包的Java组件,JPcap并非真正去实现对数据链路层的控制,而是一个中间件,调用WinPcap/LibPcap,而给Java语言提供一个公共的接口,从而实现了平台无关性;用户可以使用Jpcap从一个网络接口获取数据包,然后在Java中对它们进行分析和显示;同样也可以通过一个网络接口发送任意数据包;JPcap能够捕获多种网络通信协议(IPv4、IPv6、ARP(地址解析协议)/RARP、TCP(Transmission ControlProtocol,传输控制协议)、UDP(User Datagram Protocol的,用户数据包协议)和ICMPv4(Intemet Control Message Protocol,Intemet控制消息协议)等)的数据包。
基于上述LibPcap、WinPcap和JPcap,对于OSI(开放式系统互联)参考模型定义的网络通信的7层,由低到高分别是物理层(Physical Layer),数据链路层(Data LinkLayer),网络层(Network Layer),传输层(Transport Layer),会话层(Session Layer),表示层(Presentation Layer)和应用层(Application Layer);本申请实施例提供的技术方案可以通过控制网络通信的数据链路层,并结合系统运行环境信息,实现对多种协议(如TCP、IP、UDP、IMCP等)的网络通信过程进行共享式监控。
步骤302,监听器将获得的网络通信数据包发送给处理装置。
本申请实施例中,各监听器在获得了网络通信数据包之后,均需要将网络通信数据包发送给处理装置,以实现网络通信数据包的共享;在实际应用中,各监听器还可以通过调用JPcapSender.sendPack(TCPPacket)将网络通信数据包发送给处理装置。
步骤303,处理装置接收网络通信数据包,并利用网络通信数据包对第一应用服务器的网络通信过程进行监听。
本申请实施例中,对于多个第一应用服务器上分别部署的监听器,处理装置接收网络通信数据包,并利用网络通信数据包对第一应用服务器的网络通信过程进行监听包括:处理装置接收多个第一应用服务器对应的多个监听器分别上报的网络通信数据包,对多个监听器分别上报的网络通信数据包进行处理,并利用处理后的网络通信数据包对多个第一应用服务器的网络通信过程进行监听。
进一步的,处理装置对多个监听器分别上报的网络通信数据包进行处理具体包括:处理装置记录多个监听器收集到的网络通信数据包,遍历多个第一应用服务器的通信数据,并分析该通信数据的目标应用服务器的IP地址是否对应了多个监听器所收集到的网络通信数据包,如果存在,则将该通信数据与多个监听器收集到的网络通信数据包进行关联。
当处理装置进一步为共享平台和任务平台,则该共享平台和任务平台均可以部署在远程服务器,且应用服务器具体为Web系统或者Service时:该共享平台和任务平台是本申请实施例中用于对网络通信过程进行监听时所设计的,共享平台和任务平台的具体实现和相关功能为:
(1)该任务平台负责处理预先定义的一系列任务,且多个监听器需要将各自获得的网络通信数据包上报给任务平台;任务平台接收并记录各监听器收集到的网络通信数据包,分析Web系统的网络通信数据包和Service的网络通信数据包,进行整合处理,并将整合的监控数据结果发送给共享平台。
具体的,该任务平台通过开启网络端口监听外部发过来的网络通信数据包(HTTP请求),接收并记录各监听器收集到的网络通信数据包,记录方式可以为key=监听器IP、value=Web系统和/或Service的网络通信数据包;之后,通过遍历Web系统和/或Service的通信数据,分析通信数据对应的目标应用服务器的IP地址是否也存在于监听器收集的网络通信数据包,若存在则将数据进行关联,整合Web系统和/或Service在整个网络形成的通信数据流。
(2)共享平台负责处理监控数据,并最终展示给用户查看;具体的,共享平台通过提供用户查询Web系统网络通信过程的交互界面,使用户通过该交互页面输入已参与共享的Web系统的访问URL信息,并将用户输入的URL信息交给任务平台进行相关处理;后续过程中,共享平台从任务平台获取处理完的Web系统的网络通信过程的结果,并将其展示给用户。
本申请实施例中,该监听器的具体实现还可以为配置+远程代理;在该方式下,(1)依赖于Web系统的配置,系统的底层网络通信地址是通过配置文件注入,例如,address=http://192.0.0.1;(2)启动Web系统前将配置的通信地址修改为远程代理,例如,address=http://www.proxy.com?q=http://192.0.0.1;(3)Web系统在运行过程中,实际的网络通信是发送到远程代理中心,例如,address=http://www.proxy.com?q=http://192.0.0.1?need=sometrace;(4)远程代理中心实现通信内容的中转,即请求通信的实际地址,并将返回内容原样返回给Web系统;(5)远程代理中心在通信中转过程中,记录Web系统底层网络通信信息;上述方式不需要在Web系统外部环境部署监控,且不会受到同个平台上的其他系统后端网络通信的干扰。
综上所述,通过本申请实施例提供的技术方案,具有以下优点:
(1)实现对数据链路层的监控,能捕获多种网络通信协议(如TCP、IP、UDP、ICMP等)的数据包。
(2)能够根据用户指定的进程名称或进程ID,过滤进程相关的网络通信数据包(使用WinPcap捕获到的数据包不含进程信息,可结合系统运行环境信息实现此功能)。
(3)支持Web系统任意部署,没有特殊环境(如本地环境)要求;对系统代码零侵入,支持系统任意修改更新。
(4)用户只需要开启监听器就能够参与共享自身的Web系统监控,用户除了能监控自身的Web系统,也能查看其他Web系统的后端网络通信过程。
(5)通过提供公用的Web形式共享平台,使每个用户都能查询所有共享的Web系统的后端网络通信过程,能够监控Web系统接收请求时所触发的一系列后端网络通信过程(包括Web系统依赖的外部服务系统的后端网络通信过程);且共享的积累将形成一个系统监控网络,用户能监控到1条访问URL触发的Web系统的一系列后端网络通信请求,包括这些请求再触发的外部Service系统的后端请求;以实现监控1条访问URL在所有相关的网络系统(即Web系统及其依赖的Service系统)中形成的一系列后端网络通信过程。
(6)通过设计监听器、任务平台、共享平台的系统结构,实现无侵入共享式监控;且采用Java+JPcap+WinPcap/LibPcap技术进行网络通信数据包的捕获,在进行数据包过滤分析的过程中,结合系统运行环境的信息将Web系统进程对应的数据包过滤出来,解决了捕获的数据包无进程标识的问题;且监听器还集成发送捕获的通信数据包到任务平台,实现对Web系统共享式监控的支持,即支持在Windows和Linux两个平台上无侵入监控;此外,监听器还可以采用API Hook(一种用于改变API执行结果的技术),WFP(Windows FilteringPlatform,Windows提供的网络数据过滤平台)等技术来实现。
实施例二
基于与上述方法同样的申请构思,本申请实施例中还提供了一种网络通信过程的监听系统,包括处理装置和多个应用服务器,且所述多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;其中:
所述第一应用服务器,用于在与其他的第二应用服务器进行通信以获得数据时发送用于获得数据的网络通信数据包;
所述监听器,用于获得所述第一应用服务器发送的用于获得数据的网络通信数据包,并将所述获得的网络通信数据包发送给所述处理装置;
所述处理装置,用于接收所述网络通信数据包,并利用所述网络通信数据包对所述第一应用服务器的网络通信过程进行监听。
实施例三
基于与上述方法同样的申请构思,本申请实施例中还提供了一种监听器,应用于包括处理装置和多个应用服务器的网络系统中,且多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;如图4所示,该监听器包括:
获得模块11,用于获得第一应用服务器发送的用于获得数据的网络通信数据包,所述第一应用服务器发送的用于获得数据的网络通信数据包是所述第一应用服务器与其他的第二应用服务器进行通信以获得数据时发送的;
发送模块12,用于将所述获得的网络通信数据包发送给所述处理装置。
所述获得模块11,具体用于通过监听所述第一应用服务器上的指定进程获得所述第一应用服务器发送的网络通信数据包,且所述指定进程用于发送所述网络通信数据包。
所述获得模块11,进一步用于获得所述指定进程的名称,并通过分析系统运行环境的进程信息获得所述指定进程的名称所对应的进程ID;
通过分析系统运行环境的网络连接信息获得所述进程ID所对应的网络通信过程的目标应用服务器的IP地址及端口;
监听所述第一应用服务器发送的对应所述IP地址及端口的网络通信数据包。
所述第一应用服务器上部署有WinPcap和JPcap,或者,LibPcap和JPcap;
所述获得模块11,进一步用于通过调用WinPcap和JPcap监听所述第一应用服务器上的指定进程获得所述第一应用服务器发送的网络通信数据包;
或者,通过调用LibPcap和JPcap监听所述第一应用服务器上的指定进程获得所述第一应用服务器发送的网络通信数据包。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
实施例四
基于与上述方法同样的申请构思,本申请实施例中还提供了一种处理装置,应用于包括所述处理装置和多个应用服务器的网络系统中,且所述多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;如图5所示,该处理装置包括:
接收模块21,用于接收监听器获得的所述第一应用服务器发送的用于获得数据的网络通信数据包,其中,所述第一应用服务器发送的用于获得数据的网络通信数据包是所述第一应用服务器与其他的第二应用服务器进行通信以获得数据时发送的;
处理模块22,用于利用所述网络通信数据包对所述第一应用服务器的网络通信过程进行监听。
所述接收模块21,还用于通过用于使客户端输入URL信息的交互界面接收客户端输入的统一资源定位符URL信息;
所述处理模块22,还用于通过所述URL信息触发所述第一应用服务器通过发送用于获得数据的网络通信数据包与其他的第二应用服务器进行通信以获得数据。
所述接收模块21,具体用于接收多个第一应用服务器对应的多个监听器分别上报的网络通信数据包;
所述处理模块22,具体用于对所述多个监听器分别上报的网络通信数据包进行处理,并利用处理后的网络通信数据包对所述多个第一应用服务器的网络通信过程进行监听。
所述处理模块22,进一步用于记录所述多个监听器收集到的网络通信数据包,遍历所述多个第一应用服务器的通信数据,并分析所述通信数据的目标应用服务器的IP地址是否对应所述多个监听器收集到的网络通信数据包,若存在则将所述通信数据与所述多个监听器收集到的网络通信数据包进行关联。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (19)
1.一种网络通信过程的监听方法,其特征在于,该方法应用于包括处理装置和多个应用服务器的网络系统中,且所述多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;该方法包括以下步骤:
所述处理装置接收部署在所述第一应用服务器上的监听器获得的第一应用服务器发送的用于获得数据的网络通信数据包,其中,所述第一应用服务器发送的用于获得数据的网络通信数据包是所述第一应用服务器与其他的第二应用服务器进行通信以获得数据时发送的;
所述处理装置利用所述网络通信数据包对所述第一应用服务器的网络通信过程进行监听。
2.如权利要求1所述的方法,其特征在于,所述处理装置接收监听器获得的第一应用服务器发送的用于获得数据的网络通信数据包,之前还包括:
所述处理装置接收客户端输入的统一资源定位符URL信息,并通过所述URL信息触发所述第一应用服务器通过发送用于获得数据的网络通信数据包与其他的第二应用服务器进行通信以获得数据。
3.如权利要求2所述的方法,其特征在于,所述处理装置进一步包括共享平台和任务平台;
所述处理装置接收客户端输入的统一资源定位符URL信息,并通过所述URL信息触发所述第一应用服务器通过发送用于获得数据的网络通信数据包与其他的第二应用服务器进行通信以获得数据,进一步包括:
所述共享平台通过用于使客户端输入URL信息的交互界面接收所述客户端输入的URL信息,并将所述URL信息发送给所述任务平台;
所述任务平台接收来自所述共享平台的所述URL信息,并将所述URL信息发送给所述第一应用服务器,由所述第一应用服务器利用所述URL信息向其他的第二应用服务器发送用于获得数据的网络通信数据包。
4.如权利要求1所述的方法,其特征在于,所述处理装置利用所述网络通信数据包对所述第一应用服务器的网络通信过程进行监听,具体包括:
所述处理装置接收多个第一应用服务器对应的多个监听器分别上报的网络通信数据包,对所述多个监听器分别上报的网络通信数据包进行处理,并利用处理后的网络通信数据包对所述多个第一应用服务器的网络通信过程进行监听。
5.如权利要求4所述的方法,其特征在于,所述处理装置对所述多个监听器分别上报的网络通信数据包进行处理,具体包括:
所述处理装置记录所述多个监听器收集到的网络通信数据包,遍历所述多个第一应用服务器的通信数据,并分析所述通信数据的目标应用服务器的IP地址是否对应所述多个监听器收集到的网络通信数据包,若存在则将所述通信数据与所述多个监听器收集到的网络通信数据包进行关联。
6.如权利要求1-5任一项所述的方法,其特征在于,所述网络通信数据包具体包括超文本传送协议HTTP请求消息。
7.一种网络通信过程的监听方法,其特征在于,该方法应用于包括处理装置和多个应用服务器的网络系统中,且所述多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;该方法包括以下步骤:
部署在所述第一应用服务器上的监听器获得第一应用服务器发送的用于获得数据的网络通信数据包,其中,所述第一应用服务器发送的用于获得数据的网络通信数据包是所述第一应用服务器与其他的第二应用服务器进行通信以获得数据时发送的;
所述监听器将所述获得的网络通信数据包发送给所述处理装置。
8.如权利要求7所述的方法,其特征在于,所述监听器获得第一应用服务器发送的用于获得数据的网络通信数据包,具体包括:
所述监听器通过监听所述第一应用服务器上的指定进程获得所述第一应用服务器发送的网络通信数据包,且所述指定进程用于发送所述网络通信数据包。
9.如权利要求8所述的方法,其特征在于,所述监听器通过监听所述第一应用服务器上的指定进程获得所述第一应用服务器发送的网络通信数据包,包括:
所述监听器获得所述指定进程的名称,并通过分析系统运行环境的进程信息获得所述指定进程的名称所对应的进程ID;
所述监听器通过分析系统运行环境的网络连接信息获得所述进程ID所对应的网络通信过程的目标应用服务器的IP地址及端口;
所述监听器监听所述第一应用服务器发送的对应所述IP地址及端口的网络通信数据包。
10.如权利要求8所述的方法,其特征在于,所述第一应用服务器上部署有WinPcap和JPcap,或者,LibPcap和JPcap;
所述监听器通过调用WinPcap和JPcap监听所述第一应用服务器上的指定进程获得所述第一应用服务器发送的网络通信数据包;或者,
所述监听器通过调用LibPcap和JPcap监听所述第一应用服务器上的指定进程获得所述第一应用服务器发送的网络通信数据包。
11.一种网络通信过程的监听系统,其特征在于,包括处理装置和多个应用服务器,且所述多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;其中:
所述第一应用服务器,用于在与其他的第二应用服务器进行通信以获得数据时发送用于获得数据的网络通信数据包;
部署在所述第一应用服务器上的所述监听器,用于获得所述第一应用服务器发送的用于获得数据的网络通信数据包,并将所述获得的网络通信数据包发送给所述处理装置;
所述处理装置,用于接收所述网络通信数据包,并利用所述网络通信数据包对所述第一应用服务器的网络通信过程进行监听。
12.一种监听器,其特征在于,应用于包括处理装置和多个应用服务器的网络系统中,且所述多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;部署在所述第一应用服务器上的该监听器包括:
获得模块,用于获得第一应用服务器发送的用于获得数据的网络通信数据包,所述第一应用服务器发送的用于获得数据的网络通信数据包是所述第一应用服务器与其他的第二应用服务器进行通信以获得数据时发送的;
发送模块,用于将所述获得的网络通信数据包发送给所述处理装置。
13.如权利要求12所述的监听器,其特征在于,
所述获得模块,具体用于通过监听所述第一应用服务器上的指定进程获得所述第一应用服务器发送的网络通信数据包,且所述指定进程用于发送所述网络通信数据包。
14.如权利要求13所述的监听器,其特征在于,
所述获得模块,进一步用于获得所述指定进程的名称,并通过分析系统运行环境的进程信息获得所述指定进程的名称所对应的进程ID;
通过分析系统运行环境的网络连接信息获得所述进程ID所对应的网络通信过程的目标应用服务器的IP地址及端口;
监听所述第一应用服务器发送的对应所述IP地址及端口的网络通信数据包。
15.如权利要求13所述的监听器,其特征在于,所述第一应用服务器上部署有WinPcap和JPcap,或者,LibPcap和JPcap;
所述获得模块,进一步用于通过调用WinPcap和JPcap监听所述第一应用服务器上的指定进程获得所述第一应用服务器发送的网络通信数据包;
或者,通过调用LibPcap和JPcap监听所述第一应用服务器上的指定进程获得所述第一应用服务器发送的网络通信数据包。
16.一种处理装置,其特征在于,应用于包括所述处理装置和多个应用服务器的网络系统中,且所述多个应用服务器上分别部署有监听器,所述多个应用服务器中有用于获得数据的第一应用服务器以及用于提供所述数据的第二应用服务器;该处理装置包括:
接收模块,用于接收部署在所述第一应用服务器上的监听器获得的所述第一应用服务器发送的用于获得数据的网络通信数据包,其中,所述第一应用服务器发送的用于获得数据的网络通信数据包是所述第一应用服务器与其他的第二应用服务器进行通信以获得数据时发送的;
处理模块,用于利用所述网络通信数据包对所述第一应用服务器的网络通信过程进行监听。
17.如权利要求16所述的处理装置,其特征在于,
所述接收模块,还用于通过用于使客户端输入URL信息的交互界面接收客户端输入的统一资源定位符URL信息;
所述处理模块,还用于通过所述URL信息触发所述第一应用服务器通过发送用于获得数据的网络通信数据包与其他的第二应用服务器进行通信以获得数据。
18.如权利要求16所述的处理装置,其特征在于,
所述接收模块,具体用于接收多个第一应用服务器对应的多个监听器分别上报的网络通信数据包;
所述处理模块,具体用于对所述多个监听器分别上报的网络通信数据包进行处理,并利用处理后的网络通信数据包对所述多个第一应用服务器的网络通信过程进行监听。
19.如权利要求18所述的处理装置,其特征在于,
所述处理模块,进一步用于记录所述多个监听器收集到的网络通信数据包,遍历所述多个第一应用服务器的通信数据,并分析所述通信数据的目标应用服务器的IP地址是否对应所述多个监听器收集到的网络通信数据包,若存在则将所述通信数据与所述多个监听器收集到的网络通信数据包进行关联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210083374.5A CN103368783B (zh) | 2012-03-27 | 2012-03-27 | 一种网络通信过程的监听方法、系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210083374.5A CN103368783B (zh) | 2012-03-27 | 2012-03-27 | 一种网络通信过程的监听方法、系统和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103368783A CN103368783A (zh) | 2013-10-23 |
CN103368783B true CN103368783B (zh) | 2017-04-12 |
Family
ID=49369372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210083374.5A Active CN103368783B (zh) | 2012-03-27 | 2012-03-27 | 一种网络通信过程的监听方法、系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103368783B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486333A (zh) * | 2014-12-11 | 2015-04-01 | 北京国双科技有限公司 | 移动应用程序调试方法及装置 |
CN105577453A (zh) * | 2016-02-24 | 2016-05-11 | 北京奇虎科技有限公司 | 一种实现移动端应用测试的系统和方法 |
CN105827468B (zh) * | 2016-06-08 | 2019-10-25 | 成都万纬信息技术有限公司 | 网络性能实时监控方法 |
CN106209782B (zh) * | 2016-06-27 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 一种协议截获系统、协议截获方法以及协议截获装置 |
CN107493508A (zh) * | 2017-08-22 | 2017-12-19 | 四川长虹电器股份有限公司 | 基于Android智能终端流媒体播放性能监测的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101199181A (zh) * | 2006-03-23 | 2008-06-11 | 喷流数据有限公司 | 用于先进的https数据处理的基于浏览器插件程序的方法 |
CN101681343A (zh) * | 2007-06-13 | 2010-03-24 | 微软公司 | 用于向Web浏览器提供桌面或应用遥控的系统和方法 |
CN102065147A (zh) * | 2011-01-07 | 2011-05-18 | 深圳市易聆科信息技术有限公司 | 一种基于企业应用系统获取用户登录信息的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6792460B2 (en) * | 2002-10-02 | 2004-09-14 | Mercury Interactive Corporation | System and methods for monitoring application server performance |
US7401141B2 (en) * | 2003-01-07 | 2008-07-15 | International Business Machines Corporation | Method and system for monitoring performance of distributed applications |
-
2012
- 2012-03-27 CN CN201210083374.5A patent/CN103368783B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101199181A (zh) * | 2006-03-23 | 2008-06-11 | 喷流数据有限公司 | 用于先进的https数据处理的基于浏览器插件程序的方法 |
CN101681343A (zh) * | 2007-06-13 | 2010-03-24 | 微软公司 | 用于向Web浏览器提供桌面或应用遥控的系统和方法 |
CN102065147A (zh) * | 2011-01-07 | 2011-05-18 | 深圳市易聆科信息技术有限公司 | 一种基于企业应用系统获取用户登录信息的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103368783A (zh) | 2013-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104580192B (zh) | 应用程序的网络访问请求的处理方法和装置 | |
KR100823122B1 (ko) | 이동 단말기와 관련된 데이터 베이스, 서비스 및 장치들의원격 관리 및 액세스 | |
US8874736B2 (en) | Event extractor | |
CN103368783B (zh) | 一种网络通信过程的监听方法、系统和设备 | |
CN102629909B (zh) | 基于进程的流量统计方法及系统 | |
CN106603283B (zh) | 一种模拟服务的方法、装置及集中管理平台 | |
CN112333044B (zh) | 分流设备性能测试方法、装置、系统、电子设备以及介质 | |
KR20060136437A (ko) | 이동 단말기와 관련된 데이터 베이스, 서비스 및 장치들의원격 관리 및 액세스 | |
US20060045121A1 (en) | Methods and systems for analyzing network transmission events | |
CN111008135B (zh) | App测试方法、装置、设备及存储介质 | |
CN105868040A (zh) | 日志采集方法及采集终端 | |
CN107566218B (zh) | 一种适用于云环境的流量审计方法 | |
CN105024872A (zh) | 网络性能测试的方法及装置 | |
CN109714367B (zh) | 基于互联网的设备接入系统及方法 | |
CN113645653A (zh) | 网络仿真测试方法、装置、电子设备及存储介质 | |
CN111818041A (zh) | 一种基于网络层报文解析的实时报文处理系统及方法 | |
CN105530137A (zh) | 流量数据分析方法及流量数据分析系统 | |
CN109995607B (zh) | 流量开销的测试方法、终端、服务器和计算机存储介质 | |
CN109587643A (zh) | 一种检测应用流量泄漏的方法和装置 | |
CN112291210B (zh) | 一种前端设备目录获取方法及装置 | |
CN115840694A (zh) | 自动化测试方法、装置、终端设备以及存储介质 | |
CN110830320B (zh) | 一种转发链路监测方法、计算机设备、存储介质 | |
US9473953B2 (en) | Roaming detection and session recovery during VMM-RC | |
Song | Android Network Packet Monitoring & Analysis Using Wireshark and Debookee | |
JP2009116478A (ja) | データ収集装置、データ収集方法、およびコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1186870 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1186870 Country of ref document: HK |