一种数据包监听方法、装置和系统的制作方法
【专利摘要】本发明公开了一种数据包监听方法,包括:对由四层交换机路由和地址转换的数据包进行监听;其中,当检测到符合预先设定的会话特征的数据包时,抓取并根据预设的数据包镜像策略在所述数据包的包头中加入客户端或者服务器端的真实IP地址信息以形成待分析数据包。该方法能够根据镜像策略对抓取的数据包进行包头重组并加入对应的客户端或者服务器端真实的IP地址/TCP端口号信息,由此,在后续的分析中可以从上述待分析数据包中获取源IP地址和服务器IP地址。此外,本发明还公开了一种数据包监听装置和系统。
【专利说明】一种数据包监听方法、装置和系统
【技术领域】
[0001]本发明涉及数据包监听方法,具体来说,是指一种基于四层交换机的网络抓包和数据包监听方法。
【背景技术】
[0002]OSI (Orders Sources Identification)网络模型的第四层是传输层,其中,传输层负责端到端通信,即在网络源和目标系统之间协调通信。
[0003]在IP协议栈中这是TCP (传输控制协议)和UDP (用户数据报协议)所在的协议层。其中,TCP和UDP包含端口号,它可以唯一区分每个数据包包含哪些应用协议(例如HTTP,FTP.telnet等等)。TCP/UDP端口号提供的附加信息可以为网络交换机所利用,四层交换机利用这种信息来区分包中的数据,这是第四层交换的基础。
[0004]一般地,TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:源IP地址(发送包的IP地址)、目的IP地址(接收包的IP地址)、源TCP端口号(源系统上的连接的端口),目的TCP端口号(目的系统上的连接的端口)。
[0005]四层交换机旁挂,是指用网线将四层交换机接在二层或三层交换机的网络端口上,从客户端或服务器访问进来的数据包通过这根网线从二层交换机或三层交换机流到四层交换机上,经过四层交换机的处理后,通过这根网线流到二层交换机或三层交换机上,最终回到服务器或客户端,其中,旁挂的四层交换机在负债均衡时,会进行网络地址转换NAT,改变数据包中的源IP地址、目的IP地址、源端口、目的端口。
[0006]NAT (Network Address Translation,网络地址转换)是将IP数据报报头中的IP地址转换为另一个IP地址的过程,其中,NAT将自动修改IP报文的源IP地址和目的IP地址,IP地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文进行修改,以匹配IP头中已经修改过的源IP地址,否则,在报文数据都分别嵌入IP地址的应用程序就不能正常工作。
[0007]网络抓包是捕捉网络中流动的数据并查看分析数据包,以找出业务系统或网络中出现的问题,但是,在四层交换机旁挂的时候,由于得到的数据包中的IP/TCP地址信息会是改变后的数据信息,因此,无法从抓取的数据包中同时获取真实的服务器IP地址/TCP端口号或者客户端IP地址/TCP端口号信息,从而增加网络分析或取证的难度。
[0008]此外,虽然现有技术在四层交换机上打开debug功能,可以获取源IP地址、目的IP地址、源端口、目的端口的NAT改变记录,但是,这种方法无法获取数据包中的具体数据信肩、O
[0009]也就是说,现有技术中,不能在一个经过四层交换机的TCP/UDP会话中获得包含客户端的真实IP地址和服务器的真实IP地址信息的数据包。
【发明内容】
[0010]本申请所要解决的技术问题是,现有技术不能在一个经过四层交换机的TCP/UDP会话中获得同时包含客户端的真实IP地址和服务器的真实IP地址的数据包。
[0011]其中,根据本发明的一个方面,本发明提供了一种数据包监听方法,包括:对由四层交换机路由和地址转换的数据包进行监听;其中,当检测到符合预先设定的会话特征的数据包时,抓取并根据预设的数据包镜像策略在所述数据包的包头加入客户端或者服务器端真实的IP地址信息以形成待分析数据包。
[0012]本发明采取了上述方案以后,四层交换机能够根据镜像策略对抓取的数据包进行包头重组并加入对应的客户端或者服务器端真实的IP地址/信息形成待分析数据包,由此,解决了现有技术中不能在一个经过四层交换机的TCP/UDP会话中获得同时包含客户端的真实IP地址和服务器的真实IP地址信息的数据包的缺点。
[0013]其中,本申请还包括:将上述待分析数据包从镜像端口中传递给分析仪;
[0014]从所述待分析数据包中提取出客户端真实IP地址和服务器端真实IP地址并进行后续分析。
[0015]其中,分析仪可以从重新组合的网络流量中获取源IP地址和服务器IP地址,本提案在进行网络抓包时,可以从实际TCP/UDP会话中恢复原始服务器/客户段IP地址,从而可以更好的进行网络分析,或者是取证。
[0016]其中,根据本发明的又一目的,本发明提供了一种数据包监听装置,包括:参数设定单元,用于获取预先设定的数据包会话特征和数据包镜像策略;
[0017]会话流量监听单元,用于对由四层交换机路由和地址转换的数据包进行监听;关系映射表存储单元,用于存储所述四层交换机对数据包地址转换形成的数据包映射关系表;
[0018]数据包打包单元,用于当检测到符合设定的监听会话特征的数据包时,抓取并根据预设的镜像策略在所述数据包的包头中加入客户端或者服务器端的真实IP地址信息以形成待分析数据包。
[0019]其中,本发明采取了上述方案以后,该装置能够根据镜像策略对抓取的数据包进行包头重组并加入对应的客户端或者服务器端真实的IP地址/TCP端口号信息形成待分析数据包,并供分析仪进行后续分析操作。
[0020]其中,根据本发明的另一方面,本发明提供了一种数据包监听系统,包括四层交换机和通过镜像端口与四层交换机相连接的分析仪,其中,所述四层交换机中设有本发明上述的数据包监听装置。
[0021]本发明采取了上述方案以后,由于四层交换机中的所述数据包监听装置能够根据镜像策略对抓取的数据包进行包头重组并在数据包的包头中加入对应的客户端或者服务器端真实的IP地址信息形成待分析数据包,其中,分析仪可以从重新组合的网络流量中获取源IP地址和服务器IP地址,,从而可以更好的进行网络分析,或者是取证。
[0022]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
【专利附图】
【附图说明】
[0023]下面结合附图对本发明进行详细的描述,以使得本发明的上述优点更加明确。[0024]图1是现有技术基于四层交换机的数据包处理流程示意图;
[0025]图2是本发明基于数据包监听系统的数据包处理流程示意图;
[0026]图3是本发明数据包监听方法的流程示意图;
[0027]图4是本发明数据包监听方法一个实施例的数据包重组的流程示意图;
[0028]图5是本发明数据包监听方法一个实施例的数据包重组的流程示意图;
[0029]图6是本发明数据包监听装置的结构示意图。
【具体实施方式】
[0030]以下对本发明的具体原理和实施例进行详细说明。
[0031]其中,图1是现有技术基于四层交换机的数据包处理流程示意图;如图1所示,所述数据包处理的方法,主要包括:
[0032]第一步001:四层交换机提供一个虚拟服务的IP地址/TCP端口号,客户端A访问这个虚拟服务:
[0033]第二步002:四层交换机改变相应的IP地址/TCP端口号信息后,将数据包利用负债均衡的原理,转发给后台服务器提供的服务;
[0034]第三步003:后台服务器收到数据包,进行了服务响应处理后,将返回的数据包发给四层交换机;
.[0035]第四步004:四层交换机根据第二步地址信息改变的记录,再重新改变IP地址/TCP端口号信息后,将返回的数据包发回给最初的客户端;
[0036]其中,数据包通过四层交换机时,四层交换机对数据包中的TCP/UDP包头会作如下表I所示的改变:
[0037]表I
[0038]
【权利要求】
1.一种数据包监听方法,包括: 对由四层交换机路由和地址转换的数据包进行监听; 其中,当检测到符合预先设定的会话特征的数据包时,抓取并根据预设的数据包镜像策略在所述数据包的包头中加入客户端或者服务器端的真实IP地址信息以形成待分析数据包。
2.根据权利要求1所述的数据包监听方法,其特征在于,所述镜像策略是服务器端真实TCP/UDP端口镜像策略; 其中,根据预设的数据包镜像策略在所述数据包中加入客户端或者服务器端的真实IP地址信息以形成待分析数据包,具体包括: 查询四层交换机对数据包地址转换后形成的数据包映射关系表,获取所述数据包的客户端真实IP地址/TCP端口号信息; 将所述客户端真实IP地址/TCP端口号信息加入并替换掉所述数据包包头中相应的客户端IP地址/TCP端口号信息。
3.根据权利要求1所述的数据包监听方法,其特征在于,所述镜像策略是客户端真实TCP/UDP端口镜像策略; 其中,根据预设的数据包镜像策略在所述数据包中加入客户端或者服务器端的真实IP地址信息以形成待分析数据包,具体包括: 查询四层交换机对数据包地址转换后形成的数据包映射关系表,获取所述数据包的服务器端真实IP地址/TCP端口号信息; 将所述服务器端真实IP地址/TCP端口号信息加入并替换掉所述数据包包头中相应的服务器端IP地址/TCP端口号信息。
4.根据权利要求f3任一所述的数据包监听方法,其特征在于,所述预先设定数据包会话特征选取以下任一或者组合: 包含客户端IP地址,或服务器端IP地址,或客户端TCP端口号,或目的端TCP端口号的数据包; 或者,包含中断连接指令的数据包,或包含错误信息指令的数据包,或者,所有的数据包。
5.根据权利要求4所述的数据包监听方法,其特征在于,还包括:将上述待分析数据包从镜像端口中传递给分析仪; 从所述待分析数据包中提取出客户端真实IP地址和服务器端真实IP地址并进行后续分析。
6.根据权利要求f3任一所述的数据包监听方法,其特征在于,还包括:接收获取四层交换机对数据包地址转换形成的数据包映射关系表的请求; 将所述数据包映射关系表转换成可读文件并通过镜像端口发送给分析仪。
7.一种数据包监听装置,包括: 参数设定单元,用于获取预先设定的需要监听的数据包会话特征和数据包镜像策略; 会话流量监听单元,用于对由四层交换机路由和地址转换的数据包进行监听; 关系映射表存储单元,用于存储所述四层交换机对数据包地址转换形成的数据包映射关系表;数据包打包单元,用于当检测到符合所述预先设定的会话特征的数据包时,抓取并根据预设的镜像策略在所述数据包的包头中加入客户端或者服务器端的真实IP地址信息以形成待分析数据包。
8.根据权利要求7所述的数据包监听装置,其特征在于,所述数据包镜像策略选取客户端真实TCP/UDP端口镜像策略或者服务器端真实TCP/UDP端口镜像策略。
9.根据权利要求7所述的数据包监听装置,其特征在于,所述数据包打包单元,具体包括: 数据包查询子单元,用于当所述数据包镜像策略是服务器端TCP/UDP端口镜像策略时,查询数据包映射关系表,获取所述数据包的客户端真实IP地址/TCP端口号信息; 数据包打包子单元,用于将所述客户端真实IP地址/TCP端口号端口信息加入并替换掉所述数据包包头中相应的客户端IP地址/TCP端口号信息。
10.根据权利要求7所述的数据包监听装置,其特征在于,所述数据包打包单元,具体包括: 数据包查询子单元,用于当所述数据包镜像策略是客户端TCP/UDP端口镜像策略时,查询数据包映射关系表,获取所述数据包的服务器端真实IP地址/TCP端口号信息; 数据包打包子单元,用于将所述服务器端真实IP地址/TCP端口号端口信息加入并替换掉所述数据包包头中相应的服务器端IP地址/TCP端口号信息。
11.根据权利要求7所述的数据包监听装置,其特征在于,还包括:查询请求接收单元,接收获取四层交换机对数据包地址转换形成的数据包映射关系表的请求; 所述数据包查询子单元,用于将查询到所述数据包映射关系表转换成可读文件并通过镜像端口发送给分析仪。
12.—种数据包监听系统,包括四层交换机和通过镜像端口与四层交换机相连接的分析仪,其中,所述四层交换机中设有权利要求7?11任一所述的数据包监听装置。
【文档编号】H04L12/26GK103428044SQ201210165569
【公开日】2013年12月4日 申请日期:2012年5月24日 优先权日:2012年5月24日
【发明者】赵江 申请人:中国移动通信集团贵州有限公司