一种ip语音还原的方法和装置的制作方法

文档序号:7858248阅读:131来源:国知局
专利名称:一种ip语音还原的方法和装置的制作方法
技术领域
本发明涉及IP语音领域,特别涉及一种IP语音还原的方法和装置。
背景技术
IP(Internet Protocol,网络之间互连的协议)语音,就是“通过IP数据包发送实现的语音业务”利用IP网络传送语音,通过语音设备将模拟的声音讯号进行压缩编码处理,然后再把这些语音数据根据相关的协议进行压缩与封包,以数据封包的形式在IP网络进行语音讯号的传输,送到目的地后再把这些语音数据包串起来,经过解压解码处理后,恢复成原来的语音信号,从而达到由IP网络发送语音的目的.目前社会上利用电话进行诈骗犯罪的活动日趋增多,涉及的金额越来越大,影响 也越来越广,犯罪份子利用IP语音技术进行诈骗,如何有效地将IP数据包还原为声音文件,以便侦破案件,成为人们的研究课题。

发明内容
本发明提出一种IP语音还原的方法和装置,解决了现有技术中无法将IP数据包有效还原为声音的问题。本发明的技术方案是这样实现的本发明公开了一种IP语音还原的方法,包括SI.从网络数据pcap (packet capture library,抓包库)文件中提取数据包;S2.识别所述的数据包是否是RTP (Real-time Transport Protocol,实时传输协议)数据包,若是,进入步骤S3,若否,返回步骤SI ;S3.将所述的RTP数据包还原成PCM(Pulse_code modulation,脉冲编码调制)数据;S4.将所述的PCM数据转换成· wav文件,进行播放。· wav为微软公司(Microsoft)开发的一种声音文件格式。在本发明所述的IP语音还原的方法中,所述的步骤S2及步骤S3间还包括步骤S21 :对所述的RTP数据包进行排序。在本发明所述的IP语音还原的方法中,所述的步骤S2中识别所述的数据包是否是RTP数据包具体包括通过分析呼叫信令的内容,获取传输媒体流的源、目的地址和端口号,再通知给过滤器进行数据捕捉识别。在本发明所述的IP语音还原的方法中,所述的步骤S2中识别所述的数据包是否是RTP数据包,具体还包括通过对RTP数据包的流特征进行分析,识别所要捕捉的RTP数据流。在本发明所述的IP语音还原的方法中,所述的流特征包括UDP(User DatagramProtocol,用户数据报协议)负荷头两个比特是0x10,或RTP流负荷类型PT值不变,或
RTP流的每包SN值后包比前包递增为1,或RTP值的Timestamp值为递增,或RTP包的SSRC值为定值。本发明公开了一种IP语音还原的装置,用于实现上述的方法,包括用于对所述的IP语音还原的装置的所有用电单元进行供电的供电单元,还包括存储单元,用于存储网络数据pcap文件;中央处理器,用于从所述的存储单元的网络数据pcap文件中提取数据包,识别所述的数据包是否是RTP数据包,并将所述的RTP数据包还原成PCM数据;. wav格式转换单元,用于将所述的中央处理器的PCM数据转换成.wav文件格式; 语音播放单元,用于提取所述的.wav文件格式并进行播放。在本发明所述的IP语音还原的装置中,所述的中央处理器具有排序单元,用于对所述的RTP数据包进行排序。在本发明所述的IP语音还原的装置中,所述的中央处理器具有分析呼叫信令单元,用于通过分析呼叫信令的内容,获取传输媒体流的源、目的地址和端口号,再通知给过滤器进行数据捕捉识别。在本发明所述的IP语音还原的装置中,所述的中央处理器还具有流特征分析单元,用于通过对RTP数据包的流特征进行分析,识别所要捕捉的RTP数据流。在本发明所述的IP语音还原的装置中,所述的流特征分析单元分析的流特征,具体包括UDP负荷头两个比特是0x10 (十六进制),或RTP流负荷类型PT值不变,或RTP流的每包SN (Sequence Number,序列号)值后包比前包递增为I,或RTP值的Timestamp (时间戳)值为递增,或RTP 包的 SSRC (Synchronization Source Identifier,同步源标识)值为定值。实施本发明的一种IP语音还原的方法和装置,具有的有益的技术效果在于;从网络数据pcap文件中提取数据包,还原为真实的声音文件,从而为侦破不法分子利用IP语音技术进行诈骗的犯罪活动提供有效线索。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I是本发明一种IP语音还原的方法流程图;图2是本发明一种IP语音还原的装置功能方框图;图3是本发明RTP的封装结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参阅图1,本发明的实施例,一种IP语音还原的方法,包括SI.从网络数据pcap文件中提取数据包;S2.识别所述的数据包是否是RTP数据包,若是,进入步骤S3,若否,返回步骤SI ;S3.将所述的RTP数据包还原成PCM数据;S4.将所述的PCM数据转换成WAV文件,进行播放。因为数据采用的压缩算法不一样,必须还原为原始数据才可以进行数模转换,保 证语音质量,根据压缩编码算法进行解码,如G729,G723等。步骤S2及步骤S3间还包括步骤S21 :对所述的RTP数据包进行排序。因为网络数据包传过来的是乱序了的,所以需要重新排序,可以根据RTP包的序列号来排序。步骤S2中识别所述的数据包是否是RTP数据包具体包括通过分析呼叫信令的内容,获取传输媒体流的源、目的地址和端口号,再通知给过滤器进行数据捕捉识别。步骤S2中识别所述的数据包是否是RTP数据包,具体还包括通过对RTP数据包的流特征进行分析,识别所要捕捉的RTP数据流。流特征包括UDP负荷头两个比特是0x10,或RTP流负荷类型PT值不变,或RTP流的每包SN值后包比前包递增为I,或RTP值的Timestamp值为递增,或RTP包的SSRC值为定值。请参阅图2、一种IP语音还原的装置,用于实现上述的方法,包括用于对所述的IP语音还原的装置的所有用电单元进行供电的供电单元10,还包括存储单元20,用于存储网络数据pcap文件;中央处理器30,用于从存储单元20的网络数据pcap文件中提取数据包,识别所述的数据包是否是RTP数据包,并将所述的RTP数据包还原成PCM数据;WAV格式转换单元40,用于将中央处理器30的PCM数据转换成WAV文件格式;语音播放单元50,用于提取所述的WAV文件格式并进行播放。中央处理器20具有排序单元,用于对所述的RTP数据包进行排序。中央处理器20具有分析呼叫信令单元,用于通过分析呼叫信令的内容,获取传输媒体流的源、目的地址和端口号,再通知给过滤器进行数据捕捉识别。中央处理器20还具有流特征分析单元,用于通过对RTP数据包的流特征进行分析,识别所要捕捉的RTP数据流。流特征分析单元分析的流特征,具体包括UDP负荷头两个比特是0x10,或RTP流负荷类型PT值不变,或RTP流的每包SN值后包比前包递增为1,或RTP值的Timestamp值为递增,或
RTP包的SSRC值为定值。本技术方案的特征在于透过IP网络传输的语音讯号,简单地说,它是藉由一连串的转码、编码、压缩、打包等程序,让语音数据可以在IP网络上传输到目的端,然后再经由相反的程序,还原成原来的语音讯号以供接听者接收。基于语音传输的原理,IP语音还原需要通过以下步骤I、先识别IP语音媒体流根据流水号对RTP数据包排序,保证数据包的连贯性识别RTP头中负载类型PT,匹配相一致的语音解码器用相应的解码器对RTP净荷数据经行解码,生成原始的PCM数据,写入.wav文件中,最终生成能够用音频播放器进行播放的音频文件。RTP运行在UDP的上层,可以看成是传输层的子层。RTP是用来传输流媒体实时数据,RTCP(Real-Time Transport Control Protocol)是用来控制和监视它的传输。
由于RTP没有简单的特征字,不能简单地通过包特征过滤进行识别,要想识别RTP流量,只有两种方法,第一种是通过分析呼叫信令的内容,获取传输媒体流的源、目的地址和端口号,再通知给过滤器进行数据捕捉;第二种是通过对数据的“流特征”进行分析,确定所要捕捉的RTP数据流。2、RTP 分析RTP/RTCP是一种应用型的传输层协议,它并不提供任何传输可靠性的保证和流量的拥塞控制机制。它是由IETF(Internet Engineering Task Force)为视音频的实时传输而设计的传输协议。RTP没有连接的概念,它既可以建立在面向连接的底层协议上,又可以建立在面向无连接的底层协议上,因此RTP对传输层是独立的。RTP —般由数据报文部分(RTP报文)和控制报文部分(RTCP)组成。其中,RTP是一种提供端对端传输服务的实时传输协议,用来支持在单目标广播和多目标广播网络服务中传输实时数据,而实时数据的传输则由RTCP来监视和控制。RTP运行在UDP的上层,目的是为了使用UDP的端口号和校验和。在功能上独立于下面的传输层(UDP)和网络层,但不能单独作为一个层次存在,RTP可以看成是传输层的子层。由多媒体应用程序生成的声音和视频数据块被封装在RTP信息包中,每个RTP信息包被封装在UDP消息段中,利用低层的UDP对实时视音频数据进行组播(Multicast)或单播(Unicast),从而实现多点或单点视音频数据的传输。RTP信息包中的有效载荷域(Payload Type Field)的长度为7位,因此RTP可支持128种不同的有效载荷类型。对于声音流,这个域用来指示声音使用的编码类型,例如PCM、自适应增量调制或线性预测编码等。如果发送端在会话或者广播的中途决定改变编码方法,发送端可通过这个域来通知接收端。3、采用异或位移哈希算法进行UDP数据流识别要实现RTP流量判别,必须在高速网络流量中,对IP流进行高速分析,而哈希算法是整个算法的核心。1997年,MCI网络中的并发流数量大约为25万条;2003年CERNET0C48主干网络流量并发流数达到300万条;近两年随着P2P技术的迅速发展,网络流量的并发数更进一步增加,这对网络流量的测量和分析工作提出了更高的要求。为此我们采用异或位移哈希算法解决。另外为提高流查找的速度,我们根据IP流的本地性,即最近访问过的会话节点很有可能被再次访问的特点,将刚访问的节点放置在链表头部,以减少哈希表的整体内存访问次数,提高流查找的速度。通过多种有效手段的采用可以大大提高分析效率。4、RTP流量判别在前面已经说过,由于RTP流量没有明显的包特征值,要识别RTP流量,只有两种方法;第一种是通过分析呼叫信令的内容,获取传输媒体流的源、目的地址和端口号,再通知给过滤器进行数据捕捉识别;第二种是通过对数据的“流特征”进行分析,确定所要捕捉的RTP数据流。第一种方法简单且效率高,但对应用系统要求较高。在实际应用中,我们采用两种方法结合使用以提高准确性。在上节流查找算法的基础上,我们根据协议的定义,制订了以下几条RTP流的判
别策略。(I)UDP负荷头两个比特是0x10 (RTP header的版本号是2);
(2) RTP流负荷类型PT值不变(9 15bit);(3) RTP流的每包SN值后包比前包递增为I ;(4) RTP 值的 Timestamp 值为递增;(5) RTP包的SSRC值为定值。我们采用此5条作为判断RTP流量的必要条件,经过实际测试,当对每一个UDP数据流,如能连续检出5个包符合上述策略,则认定其满足为RTP数据流的充分条件。经过大量实际数据的测试,未发现错判现象。但在如此判别策略的基础上,判出的RTP流均为单方向流量,如要得到一个完整的呼叫,还需在应用层按照源、目的地址进行关联,将双方向的呼叫合并到一起,以达到所要求的目的。请参阅图3,RTP的封装结构示意图。版本号(V) 2比特,用来标志使用的RTP版本。填充位(P) 1比特,如果该位置位,则该RTP包的尾部就包含附加的填充字节。扩展位(X) 1比特,如果该位置位的话,RTP固定头部后面就跟有一个扩展头部。CSRC计数器(CC) 4比特,含有固定头部后面跟着的CSRC的数目。标记位(M) 1比特,该位的解释由配置文档(Profile)来承担.载荷类型(PT) 7比特,标识了 RTP载荷的类型。序列号(SN) 16比特,发送方在每发送完一个RTP包后就将该域的值增加1,接收方可以由该域检测包的丢失及恢复包序列。序列号的初始值是随机的。时间戳32比特,记录了该包中数据的第一个字节的采样时刻。在一次会话开始时,时间戳初始化成一个初始值。即使在没有信号发送时,时间戳的数值也要随时间而不断地增加(时间在流逝),时间戳是去除抖动和实现同步不可缺少的。同步源标识符(SSRC) 32比特,同步源就是指RTP包流的来源。在同一个RTP会话中不能有两个相同的SSRC值。该标识符是随机选取的RFC1889推荐了 MD5随机算法。贡献源列表(CSRC List) 0 15项,每项32比特,用来标志对一个RTP混合器产生的新包有贡献的所有RTP包的源。由混合器将这些有贡献的SSRC标识符插入表中。SSRC标识符都被列出来,以便接收端能正确指出交谈双方的身份。实施本发明的一种IP语音还原的方法和装置,具有的有益的技术效果在于从网络数据pcap文件中提取数据包,还原为真实的声音文件,从而为侦破不法分子利用IP语音技术进行诈骗的犯罪活动提供有效线索。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种IP语音还原的方法,其特征在于,包括 51.从网络数据pcap文件中提取数据包; 52.识别所述的数据包是否是RTP数据包,若是,进入步骤S3,若否,返回步骤SI; 53.将所述的RTP数据包还原成PCM数据; 54.将所述的PCM数据转换成.wav文件,进行播放。
2.根据权利要求I所述的IP语音还原的方法,其特征在于,所述的步骤S2及步骤S3间还包括步骤S21 :对所述的RTP数据包进行排序。
3.根据权利要求I所述的IP语音还原的方法,其特征在于,所述的步骤S2中识别所述的数据包是否是RTP数据包具体包括通过分析呼叫信令的内容,获取传输媒体流的源、目的地址和端口号,再通知给过滤器进行数据捕捉识别。
4.根据权利要求3所述的IP语音还原的方法,其特征在于,所述的步骤S2中识别所述的数据包是否是RTP数据包,具体还包括通过对RTP数据包的流特征进行分析,识别所要捕捉的RTP数据流。
5.根据权利要求4所述的IP语音还原的方法,其特征在于,所述的流特征包括UDP负荷头两个比特是0x10,或 RTP流负荷类型PT值不变,或 RTP流的每包SN值后包比前包递增为1,或 RTP值的Timestamp值为递增,或 RTP包的SSRC值为定值。
6.一种IP语音还原的装置,用于实现权利要求I所述的方法,包括用于对所述的IP语音还原的装置的所有用电单元进行供电的供电单元,其特征在于,还包括 存储单元,用于存储网络数据Pcap文件; 中央处理器,用于从所述的存储单元的网络数据pcap文件中提取数据包,识别所述的数据包是否是RTP数据包,并将所述的RTP数据包还原成PCM数据; .wav格式转换单元,用于将所述的中央处理器的PCM数据转换成.wav文件格式; 语音播放单元,用于提取所述的.wav文件格式并进行播放。
7.根据权利要求6所述的IP语音还原的装置,其特征在于,所述的中央处理器具有排序单元,用于对所述的RTP数据包进行排序。
8.根据权利要求6所述的IP语音还原的装置,其特征在于,所述的中央处理器具有分析呼叫信令单元,用于通过分析呼叫信令的内容,获取传输媒体流的源、目的地址和端口号,再通知给过滤器进行数据捕捉识别。
9.根据权利要求8所述的IP语音还原的装置,其特征在于,所述的中央处理器还具有流特征分析单元,用于通过对RTP数据包的流特征进行分析,识别所要捕捉的RTP数据流。
10.根据权利要求9所述的IP语音还原的装置,其特征在于,所述的流特征分析单元分析的流特征,具体包括 UDP负荷头两个比特是0x10,或 RTP流负荷类型PT值不变,或 RTP流的每包SN值后包比前包递增为1,或 RTP值的Timestamp值为递增,或RT P包的SSRC值为定值。
全文摘要
本发明提出了一种IP语音还原的方法,包括S1.从网络数据pcap文件中提取数据包;S2.识别所述的数据包是否是RTP数据包;S3.将所述的RTP数据包还原成PCM数据;S4.将所述的PCM数据转换成.wav文件,进行播放。本发明还公开了一种IP语音还原的装置。本发明的提供的一种IP语音还原的方法和装置能从网络数据pcap文件中提取数据包,还原为真实的声音文件,从而为侦破不法分子利用IP语音技术进行诈骗的犯罪活动提供有效线索。
文档编号H04L29/06GK102882846SQ20121029329
公开日2013年1月16日 申请日期2012年8月17日 优先权日2012年8月17日
发明者李涛 申请人:广东世纪网通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1