国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      Ip電話監(jiān)聽系統(tǒng)的制作方法

      文檔序號(hào):7969458閱讀:242來源:國(guó)知局
      專利名稱:Ip電話監(jiān)聽系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及IP電話的監(jiān)聽過程,結(jié)合了監(jiān)聽過程、VoIP協(xié)議解析技術(shù)、語音還原技術(shù)和語音合路技術(shù),屬于網(wǎng)絡(luò)信息安全技術(shù)領(lǐng)域。監(jiān)聽過程是對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分析管理的基本技術(shù),屬于網(wǎng)絡(luò)安全技術(shù),通過該技術(shù)可以獲得網(wǎng)絡(luò)中監(jiān)聽者感興趣的敏感數(shù)據(jù)。
      背景技術(shù)
      IP語音通信(IP Telephony)是新一代技術(shù),通過語音和數(shù)據(jù)網(wǎng)絡(luò)的融合,IP語音通信使所有類型的通信業(yè)務(wù)(包括音頻、視頻和數(shù)據(jù)以及無線和有線語音業(yè)務(wù))都可以在一套IP(互聯(lián)網(wǎng)協(xié)議)網(wǎng)絡(luò)上傳輸。將監(jiān)聽過程與VoIP相關(guān)技術(shù)進(jìn)行特殊結(jié)合,可以實(shí)現(xiàn)對(duì)VoIP語音信息的監(jiān)聽。
      IP電話(VoIP)正得到日益廣泛的應(yīng)用。隨著IP電話對(duì)公眾利益影響的增大、業(yè)務(wù)可靠性的增強(qiáng),對(duì)PSTN的替代程度的擴(kuò)大,積極應(yīng)對(duì)IP電話帶來的普遍服務(wù)、緊急呼叫、公眾安全等系列問題,實(shí)施對(duì)IP電話輕度管制政策將是正確之舉。同時(shí),因特網(wǎng)上的內(nèi)容管制也逐漸成為相關(guān)管理部門關(guān)注的焦點(diǎn),對(duì)IP網(wǎng)上傳輸?shù)亩嗝襟w信息,如IP電話語音流信息也將被納入管理之列。
      對(duì)VoIP的監(jiān)聽,對(duì)管理部門來說是相關(guān)的管理,同時(shí)對(duì)VoIP的監(jiān)聽是否合法,也屬于安全問題。目前,我國(guó)正處于VoIP的應(yīng)用部署的高潮階段,但對(duì)VoIP市場(chǎng)的管理和對(duì)VoIP的安全關(guān)注較少。目前國(guó)內(nèi)出現(xiàn)了部分VoIP的監(jiān)聽解決方案如Waygong監(jiān)聽錄音廣播系統(tǒng),主要是針對(duì)公路收費(fèi)系統(tǒng)的,對(duì)專有的軟電話終端進(jìn)行監(jiān)聽。美國(guó)聯(lián)邦政府將贊助George Mason大學(xué)研究員開發(fā)一款原型監(jiān)聽工具,據(jù)說可追蹤因特網(wǎng)電話的交談雙方,主要是針對(duì)Skype VoIP電話的監(jiān)聽,該工具未試圖破解加密談話的內(nèi)容,只是設(shè)法辨認(rèn)通話雙方的身份,而不是他們交談的內(nèi)容。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供對(duì)通過IP網(wǎng)進(jìn)行的通話進(jìn)行監(jiān)控的技術(shù)。本系統(tǒng)采用了監(jiān)聽過程、VoIP協(xié)議解析技術(shù)、語音還原技術(shù)和語音和語音合路技術(shù),在可接入條件下,對(duì)VoIP語音進(jìn)行通話雙方的身份識(shí)別和未加密通話內(nèi)容的還原。為VoIP語音監(jiān)聽提供了一套有效的實(shí)現(xiàn)方案。本系統(tǒng)為軟件產(chǎn)品,可配置在需進(jìn)行VoIP語音監(jiān)聽的任何有接入權(quán)限的設(shè)備上。
      本發(fā)明提供了一種IP電話監(jiān)聽系統(tǒng),用于對(duì)IP通話進(jìn)行監(jiān)聽,所述IP電話監(jiān)聽系統(tǒng)包括數(shù)據(jù)采集裝置,用于根據(jù)過濾規(guī)則采集數(shù)據(jù)包;數(shù)據(jù)分析裝置,用于對(duì)由數(shù)據(jù)采集裝置采集的數(shù)據(jù)進(jìn)行TCP流重組;語音存儲(chǔ)裝置,用于根據(jù)數(shù)據(jù)分析裝置的分析結(jié)果,解析出需要記錄的RPT流地址信息,并且根據(jù)所述RPT流地址信息將需要記錄的流中的RTP數(shù)據(jù)包存儲(chǔ)為文件;以及音頻轉(zhuǎn)換裝置,用于將語音存儲(chǔ)裝置存儲(chǔ)的文件中的經(jīng)過語音編碼的數(shù)據(jù)進(jìn)行解碼,生成可使用播放器播放的文件。
      本父母優(yōu)選的數(shù)據(jù)處理裝置,進(jìn)行的是H.323協(xié)議的解析。如果需要進(jìn)行信令協(xié)議為SIP協(xié)議的IP電話的監(jiān)聽,可以添加數(shù)據(jù)處理裝置,進(jìn)行SIP解析。因此,本發(fā)明的IP電話監(jiān)聽系統(tǒng)也可以適用于SIP解析。因此,根據(jù)本發(fā)明的IP電話監(jiān)聽系統(tǒng)可以擴(kuò)展協(xié)議處理架構(gòu)對(duì)骨干網(wǎng)進(jìn)行監(jiān)聽將面臨高速率的問題。數(shù)據(jù)從光纖數(shù)據(jù)接口經(jīng)過模塊轉(zhuǎn)化為實(shí)際的數(shù)據(jù)包,由于大多數(shù)光纖的速度為OC48(2.5G)或者OC192(10G)的接口,對(duì)于這樣高速度的數(shù)據(jù)進(jìn)行緩存然后分析按照目前SDRAM的速度來說是不可能實(shí)現(xiàn)的,同時(shí)網(wǎng)絡(luò)VoIP數(shù)據(jù)的特點(diǎn)就是VoIP只占整個(gè)網(wǎng)絡(luò)流量的很少一部分,而且在分析的過程中只需要分析協(xié)議的開始于結(jié)尾信息。本發(fā)明在數(shù)據(jù)處理服務(wù)器前可以包括一個(gè)硬件過濾系統(tǒng),將整個(gè)網(wǎng)絡(luò)流量的絕大多數(shù)過濾,達(dá)到硬件過濾的優(yōu)點(diǎn)。
      即使經(jīng)過硬件過濾系統(tǒng),軟件系統(tǒng)要處理的數(shù)據(jù)量還是很大。本發(fā)明在處理經(jīng)過硬件過濾系統(tǒng)之后的數(shù)據(jù)時(shí),采用動(dòng)態(tài)過濾技術(shù)。在設(shè)定較嚴(yán)格的初始過濾條件,大大減少了要處理的數(shù)據(jù),但會(huì)導(dǎo)致需要處理的數(shù)據(jù)包被過濾掉。因此必須從符合初始過濾條件的數(shù)據(jù)包中獲取需要處理信息的連接信息(如H.245的地址信息),通過添加對(duì)這些連接的監(jiān)聽,來獲取進(jìn)一步關(guān)于通話的信息。這種動(dòng)態(tài)過濾技術(shù)適合于任何嵌套連接建立的協(xié)議體系。在H.323中,Q931連接中會(huì)建立H.245的連接,Q931協(xié)議數(shù)據(jù)包中會(huì)包含H.245控制消息的地址,H.245協(xié)議數(shù)據(jù)包中又會(huì)包含媒體流的地址。
      目前的VoIP監(jiān)聽系統(tǒng)都只獲得通話雙方的兩個(gè)單向的語音流,監(jiān)聽者要分別聽這兩個(gè)單獨(dú)的語音流來獲取通話內(nèi)容,這種做法無法及時(shí)關(guān)聯(lián)通話雙方的說話內(nèi)容,這會(huì)導(dǎo)致監(jiān)聽者遺漏通話的關(guān)鍵信息。本發(fā)明的系統(tǒng)中可以采用合路技術(shù),對(duì)通話語音流進(jìn)行靜音期補(bǔ)包處理,丟包補(bǔ)包處理,計(jì)算說話起始時(shí)間,使通話雙方的內(nèi)容同步,這樣播放合路后的語音流,就好像在現(xiàn)場(chǎng)聽兩個(gè)人對(duì)話一樣。


      圖1示出了系統(tǒng)硬件結(jié)構(gòu)組成圖;圖2示出了根據(jù)本發(fā)明的系統(tǒng)結(jié)構(gòu)圖;圖3示出了TCP流重組的流程圖;圖4示出了TPKT協(xié)議頭;圖5示出了H.323協(xié)議的解析流程;圖6示出了VoIP系統(tǒng)的音頻數(shù)據(jù)傳輸過程;圖7示出了語音還原過程的示意圖;
      圖8示出了RTP序列號(hào)溢出的例子;圖9示出了VoIP監(jiān)聽系統(tǒng)的應(yīng)用結(jié)構(gòu)圖。
      具體實(shí)施例方式
      從硬件組成上來說,本發(fā)明的結(jié)構(gòu)如圖1所示由數(shù)據(jù)處理設(shè)備,語音記錄設(shè)備,音頻轉(zhuǎn)換設(shè)備,數(shù)據(jù)庫(kù)設(shè)備,Apache設(shè)備,大型存儲(chǔ)設(shè)備和若干用戶查詢?cè)O(shè)備組成。數(shù)據(jù)處理設(shè)備和語音記錄設(shè)備是雙網(wǎng)卡主機(jī),一個(gè)網(wǎng)卡接入被監(jiān)聽的網(wǎng)絡(luò),另一個(gè)網(wǎng)卡與系統(tǒng)其他主機(jī)通信。數(shù)據(jù)處理設(shè)備根據(jù)過濾規(guī)則(初始過濾規(guī)則為Q.931協(xié)議數(shù)據(jù)即TCP1720端口)從被監(jiān)聽網(wǎng)絡(luò)采集TCP數(shù)據(jù),對(duì)TCP流進(jìn)行重組,提取信令數(shù)據(jù),解析信令數(shù)據(jù)(包括Q.931和H.245),從中獲取H.245邏輯控制信道地址,將它插入到過濾規(guī)則隊(duì)列中,并提取有用信息如通話雙方的電話號(hào)碼和IP等,將其插入到數(shù)據(jù)庫(kù)設(shè)備中,并通知語音記錄設(shè)備進(jìn)行相應(yīng)的記錄。語音記錄設(shè)備接收并解析數(shù)據(jù)處理設(shè)備的通知,將每個(gè)通話的語音流以原始的RTP包文件的形式存儲(chǔ)在大型存儲(chǔ)設(shè)備中,在每個(gè)通話結(jié)束的時(shí)候通知音頻轉(zhuǎn)換設(shè)備進(jìn)行相關(guān)通話的音頻轉(zhuǎn)換,將原始的RTP包文件轉(zhuǎn)換后的統(tǒng)一的wav格式的語音文件存儲(chǔ)在大型存儲(chǔ)設(shè)備中。用戶查詢終端通過網(wǎng)頁瀏覽器訪問Apache服務(wù)器瀏覽網(wǎng)頁的方式獲取信息。
      根據(jù)本發(fā)明的系統(tǒng)結(jié)構(gòu)如圖2所示。
      本系統(tǒng)主要由數(shù)據(jù)采集、數(shù)據(jù)分析、音頻轉(zhuǎn)換、進(jìn)程守護(hù)、用戶查詢以及相關(guān)支持?jǐn)?shù)據(jù)庫(kù)六部分組成。其中,進(jìn)程守護(hù)、數(shù)據(jù)采集及數(shù)據(jù)分析子系統(tǒng)安裝在數(shù)據(jù)處理設(shè)備上,進(jìn)程守護(hù)、數(shù)據(jù)采集及語音記錄子系統(tǒng)安裝在語音記錄設(shè)備上,進(jìn)程守護(hù)和音頻轉(zhuǎn)換子系統(tǒng)安裝在音頻轉(zhuǎn)換設(shè)備上。
      各個(gè)部分完成的功能如下
      1)進(jìn)程守護(hù)進(jìn)程守護(hù)提高整個(gè)VoIP監(jiān)聽系統(tǒng)工作的可靠性。當(dāng)數(shù)據(jù)采集、數(shù)據(jù)分析或音頻轉(zhuǎn)換發(fā)生異常崩潰時(shí),進(jìn)程守護(hù)子系統(tǒng)負(fù)責(zé)把發(fā)生異常的系統(tǒng)重啟。同時(shí)它還有另外一個(gè)輔助功能,監(jiān)視報(bào)警策略數(shù)據(jù)庫(kù),及時(shí)發(fā)現(xiàn)報(bào)警策略是否有更新,通過共享內(nèi)存進(jìn)程通信的方式通知數(shù)據(jù)分析去更新報(bào)警策略。
      2)數(shù)據(jù)采集數(shù)據(jù)采集主要作用是根據(jù)過濾規(guī)則采集數(shù)據(jù)包,實(shí)現(xiàn)對(duì)TCP流的重組和對(duì)IP分片數(shù)據(jù)包的重組。數(shù)據(jù)包的過濾技術(shù)有硬件過濾技術(shù)和動(dòng)態(tài)軟件過濾技術(shù)。
      硬件過濾技術(shù)主要是基于網(wǎng)絡(luò)處理器的數(shù)據(jù)過濾技術(shù),通過硬件處理,達(dá)到高速率的數(shù)據(jù)過濾。對(duì)骨干網(wǎng)進(jìn)行監(jiān)聽面臨著高速率的問題。數(shù)據(jù)從光纖數(shù)據(jù)接口經(jīng)過轉(zhuǎn)化成為實(shí)際的數(shù)據(jù)包,由于大多數(shù)光纖的速度為OC48(2.5G)或者OC192(10G)的接口,對(duì)于這樣高速度的數(shù)據(jù)進(jìn)行緩存然后分析,按照目前SDRAM的速度來說是不可能實(shí)現(xiàn)的;同時(shí)網(wǎng)絡(luò)VoIP數(shù)據(jù)的特點(diǎn)就是VoIP只占整個(gè)網(wǎng)絡(luò)流量的很少一部分,而且在分析的過程中只需要分析協(xié)議的開始和結(jié)尾信息。本發(fā)明在數(shù)據(jù)處理裝置前加入了一個(gè)硬件過濾系統(tǒng),將整個(gè)網(wǎng)絡(luò)流量的絕大多數(shù)數(shù)舉包過濾。
      動(dòng)態(tài)軟件過濾技術(shù)的處理過程如下描述存在一個(gè)初始的過濾規(guī)則,過濾規(guī)則根據(jù)用戶需要與系統(tǒng)需要?jiǎng)討B(tài)變化。在數(shù)據(jù)處理裝置中,初始過濾規(guī)則為Q.931協(xié)議數(shù)據(jù)即TCP1720端口,對(duì)Q.931協(xié)議數(shù)據(jù)進(jìn)行解析,得到H.245邏輯控制信道地址,將它插入到過濾規(guī)則隊(duì)列中,從而實(shí)現(xiàn)動(dòng)態(tài)過濾。語音記錄裝置的初始過濾規(guī)則隊(duì)列為空,在數(shù)據(jù)處理裝置通知其進(jìn)行語音記錄時(shí),則解析通知,提取其中的RTP地址信息,并添加該RTP地址到過濾規(guī)則隊(duì)列中,語音記錄裝置只記錄過濾規(guī)則隊(duì)列中的RTP流。
      3)數(shù)據(jù)分析數(shù)據(jù)分析對(duì)由數(shù)據(jù)采集系統(tǒng)提交的數(shù)據(jù)進(jìn)行TCP流重組,信令提取和協(xié)議分析,確認(rèn)數(shù)據(jù)是否為VoIP數(shù)據(jù),且從其中提取H.245邏輯通道地址,RTP媒體流地址,通話雙方IP地址,通話雙方的電話號(hào)碼等有用信息,并利用提取到的地址信息修改過濾規(guī)則,一旦確認(rèn)有通話在進(jìn)行時(shí),通知語音存儲(chǔ)記錄通話語音流。當(dāng)被通知更新報(bào)警策略發(fā)生變化時(shí),讀取數(shù)據(jù)庫(kù)內(nèi)容,更新報(bào)警策略;當(dāng)檢測(cè)到符合報(bào)警策略的事件時(shí),更新報(bào)警策略數(shù)據(jù)庫(kù),通知用戶查詢子系統(tǒng)。
      4)語音存儲(chǔ)語音存儲(chǔ)接收數(shù)據(jù)分析的消息,從中解析出需要記錄的RTP流地址信息,插入到過濾規(guī)則隊(duì)列中。每采集到一個(gè)UDP數(shù)據(jù)包,比較當(dāng)前UDP包的端口和對(duì)應(yīng)的IP地址與過濾規(guī)則隊(duì)列中的RTP端口和對(duì)應(yīng)的IP地址,若相同,則進(jìn)行存儲(chǔ),將需要進(jìn)行記錄的流中的原始RTP數(shù)據(jù)包存為文件,用于音頻轉(zhuǎn)換的輸入。
      5)音頻轉(zhuǎn)換音頻轉(zhuǎn)換接收解析語音存儲(chǔ)的消息,獲取已結(jié)束的通話的原始RTP包語音存儲(chǔ)文件,對(duì)原始RTP包語音存儲(chǔ)文件進(jìn)行分析,對(duì)經(jīng)過語音編碼(如G.729和G.7231)的數(shù)據(jù)進(jìn)行解碼,將編碼格式多樣的語音流信息解碼存儲(chǔ)為統(tǒng)一的wav格式文件,以便于用戶查詢時(shí)可以使用統(tǒng)一的播放器播放。一個(gè)通話有兩個(gè)RTP流,從主叫到被叫的流和從被叫到主叫的流。對(duì)這兩個(gè)流的wav文件進(jìn)行合路處理,播放合路后的語音流,可以達(dá)到現(xiàn)場(chǎng)聽兩個(gè)人對(duì)話的效果。
      6)用戶查詢用戶查詢是VoIP監(jiān)聽系統(tǒng)的用戶接口,負(fù)責(zé)VoIP監(jiān)聽系統(tǒng)與用戶的交互。用戶從用戶查詢系統(tǒng)中輸入報(bào)警策略(即當(dāng)某個(gè)IP地址或電話號(hào)碼被監(jiān)聽到時(shí)由數(shù)據(jù)分析發(fā)出警報(bào)),更新報(bào)警策略數(shù)據(jù)庫(kù),通知進(jìn)程守護(hù)。
      本發(fā)明的工作原理和流程首先描述本發(fā)明的工作原理1)監(jiān)聽過程監(jiān)聽過程是本發(fā)明采用的基本技術(shù)。數(shù)據(jù)包監(jiān)聽與網(wǎng)絡(luò)接口設(shè)備操作有緊密聯(lián)系,因此監(jiān)聽過程也因操作系統(tǒng)不同而不同。目前主流的監(jiān)聽過程分為Windows監(jiān)聽過程和Linux監(jiān)聽過程。根據(jù)本發(fā)明的數(shù)據(jù)處理裝置在優(yōu)選方式下運(yùn)行在Linux操作系統(tǒng)下。
      Linux下的TCP/IP協(xié)議棧實(shí)質(zhì)為基于網(wǎng)絡(luò)接口設(shè)備之上的協(xié)議軟件。用戶應(yīng)用程序可以通過BSD套接字與Linux協(xié)議內(nèi)核建立聯(lián)系。BSD套接字基于套接字管理軟件INET套接字層的支持。INET套接字管理著基于IP的TCP或UDP協(xié)議棧。IP層包含的協(xié)議軟件需要處理數(shù)據(jù)報(bào)的報(bào)頭信息,并且必須將傳入的數(shù)據(jù)報(bào)發(fā)送到TCP或UDP兩者中正確的一層處理。在IP層之下是Linux的網(wǎng)絡(luò)接口層,主要包括網(wǎng)絡(luò)接口設(shè)備的驅(qū)動(dòng)程序及鏈路層協(xié)議軟件。ARP協(xié)議提供地址解析功能,因此它處于IP層和網(wǎng)絡(luò)設(shè)備層之間負(fù)責(zé)將IP地址翻譯成網(wǎng)絡(luò)接口設(shè)備的物理地址,在以太網(wǎng)中指的是48位的MAC地址。Linux利用套接字緩沖區(qū)(Sk-buff)在協(xié)議層和網(wǎng)絡(luò)接口設(shè)備之間傳送數(shù)據(jù),從網(wǎng)絡(luò)設(shè)備接收到的數(shù)據(jù)幀傳遞給Linux協(xié)議軟件。Sk-buff包含了一些指針和長(zhǎng)度信息,從而可讓協(xié)議層以標(biāo)準(zhǔn)的函數(shù)或方法對(duì)應(yīng)用程序的數(shù)據(jù)進(jìn)行處理。每個(gè)Sk-buff均包含一個(gè)數(shù)據(jù)塊、四個(gè)數(shù)據(jù)指針以及兩個(gè)長(zhǎng)度字段。利用四個(gè)數(shù)據(jù)指針,各協(xié)議層可操縱和管理套接字緩沖區(qū)的數(shù)據(jù)。
      在本發(fā)明中,需要做的是網(wǎng)絡(luò)接口層的數(shù)據(jù)處理。通過向網(wǎng)卡發(fā)送I/O控制命令將其設(shè)置為混雜模式用于監(jiān)聽,將網(wǎng)卡數(shù)據(jù)映射到內(nèi)存中,先通過對(duì)網(wǎng)絡(luò)數(shù)據(jù)幀結(jié)構(gòu)分析,經(jīng)過簡(jiǎn)單的過濾(如過濾非IP包,過濾廣播包)之后,將數(shù)據(jù)緩存起來。
      2)TCP流重組過程TCP數(shù)據(jù)是字節(jié)流式的。因此,利用監(jiān)聽過程獲得的TCP數(shù)據(jù),只有通過TCP會(huì)話重組,才能成為應(yīng)用程序可以識(shí)別的信息。TCP流重組的目的在于將每個(gè)TCP連接的兩端所發(fā)送的數(shù)據(jù)進(jìn)行恢復(fù)。
      依照TCP/IP協(xié)議,網(wǎng)絡(luò)嗅探捕獲MAC真據(jù)MAC真結(jié)構(gòu)得到IP包,再據(jù)IP包協(xié)義字段指示,判斷是否具有TCP載荷。針對(duì)TCP首部的FLAG字段,判斷TCP連接的建立,拆除,從而進(jìn)行TCP連接記錄的建立和刪除。根據(jù)TCP協(xié)議字段的指示,判斷是否具有TCP凈荷,實(shí)現(xiàn)對(duì)流數(shù)據(jù)的存儲(chǔ)。進(jìn)行TCP連接記錄的建立時(shí),關(guān)鍵的元素是源IP地址、目的IP地址,源端口號(hào),目的端口號(hào)。在TCP連接釋放時(shí),刪除TCP連接記錄,并回收TCP數(shù)據(jù)的存儲(chǔ)空間。對(duì)長(zhǎng)時(shí)間收不到結(jié)束指示的連接,由超時(shí)處理刪除連接。
      TCP流重組的工作流程圖如圖3所示。
      TCP流重組主要由四個(gè)難題如何確定每個(gè)連接,如何確定初始序列號(hào),如何解決數(shù)據(jù)包亂序的問題,如何解決數(shù)據(jù)重傳的問題。
      每個(gè)TCP連接可以用一對(duì)IPPort來表示,但I(xiàn)Pv4中IP地址為32bit,端口為16bit,這樣每個(gè)連接需要48*2=96比特來表示,也就意味有可能有2^96個(gè)連接同時(shí)存在,也就需要更多的內(nèi)存空間來存儲(chǔ)每個(gè)連接的數(shù)據(jù)信息,而為每個(gè)連接存儲(chǔ)信息時(shí)也需要更多時(shí)間來搜索定位連接所在的位置。事實(shí)上,網(wǎng)絡(luò)中并沒有這么多連接存在,可以通過哈希函數(shù)將IPPort對(duì)映射到16bit的上,并通過單向鏈表的方式解決沖突問題,這種做法既節(jié)省了內(nèi)存空間,同時(shí)也節(jié)省了搜索時(shí)間。哈希表中每個(gè)節(jié)點(diǎn)對(duì)應(yīng)以下信息源IP,源端口,目的IP,目的端口。哈希表的查找也基于這個(gè)四元組。
      TCP協(xié)議執(zhí)行的是面向連接的可靠傳輸,TCP協(xié)議頭中有個(gè)SN(sequence number)字段可以用于解決丟包,重傳,亂序的問題。每傳送一個(gè)包含有效數(shù)據(jù)的TCP包,后續(xù)緊接著傳送的一個(gè)TCP數(shù)據(jù)包Sequence Number會(huì)作相應(yīng)的修改,如果前一個(gè)TCP包的長(zhǎng)度為N字節(jié),則這個(gè)包的Sequence Number為前一個(gè)包的Sequence Number加N字節(jié)。
      重組TCP流需要為屬于這個(gè)雙向流的兩個(gè)方向的單向流確定流的開始。對(duì)于為每個(gè)單向流記錄初始序列號(hào),從每個(gè)單向流上的具有SYN標(biāo)記的數(shù)據(jù)包中獲取其SN字段的值,設(shè)定單向流初始序列號(hào)為該值。對(duì)于重傳亂序的處理,一個(gè)通用的方法就是計(jì)算嗅探到的數(shù)據(jù)包在流中的位置,將它放在流中原本的位置上。對(duì)于亂序的數(shù)據(jù),只需要填充它本該屬于的位置即可。而對(duì)重傳的數(shù)據(jù),填充它本該屬于的位置可能會(huì)造成效率的下降,但這對(duì)整個(gè)TCP流的恢復(fù)并沒有太大影響。而且當(dāng)網(wǎng)絡(luò)中數(shù)據(jù)包傳輸出錯(cuò)時(shí),重傳的數(shù)據(jù)的正確性更高。
      3)VoIP協(xié)議解析本發(fā)明中主要涉及H.323體系架構(gòu)中協(xié)議解析。IP電話監(jiān)聽系統(tǒng)中主要對(duì)Q.931和H.245的數(shù)據(jù)進(jìn)行解析。這兩個(gè)協(xié)議承載在TCP協(xié)議之上。
      H.323協(xié)議包括H.245和H.225.0兩部分。H.245是用于兩個(gè)或多個(gè)端點(diǎn)之間的控制協(xié)議。H.245的主要作用是管理H.323與會(huì)者之間的媒體流。H.225.0協(xié)議包括兩個(gè)部分,一部分是ITU-TQ.931建議的變體(以后簡(jiǎn)稱Q.931),這部分主要用于在H.323端點(diǎn)之間建立以及拆除連接;另一部分被稱為登錄、許可和狀態(tài)(RAS)信令,用于端點(diǎn)和關(guān)守之間,使關(guān)守可以管理其所在域中的端點(diǎn)。
      Q.931和H.245這兩個(gè)協(xié)議都建立在TPKP協(xié)議之上。TPKP協(xié)議在TCP上添加了TPKT頭,可以用于區(qū)分TCP上的應(yīng)用層數(shù)據(jù)。
      圖4示出了TPKT協(xié)議頭。一個(gè)TPKT協(xié)議數(shù)據(jù)包就是一個(gè)H.323信令包。協(xié)議解析就是解析這些信令包,從中提取出有用信息,并進(jìn)行相關(guān)的關(guān)聯(lián)。
      VoIP協(xié)議解析主要是對(duì)數(shù)據(jù)采集中獲得的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行H.323協(xié)議分析。從IP數(shù)據(jù)選擇TCP數(shù)據(jù),從TCP數(shù)據(jù)中(即Q.931和H.245的協(xié)議數(shù)據(jù))監(jiān)測(cè)得到H.323呼叫連接,對(duì)呼叫信令進(jìn)行解析得到設(shè)備使用的媒體通道,最后利用得到多媒體通道從UDP數(shù)據(jù)中分析出H.323音頻數(shù)據(jù)。而在實(shí)際的VoIP系統(tǒng)中,為了節(jié)省帶寬,一般都不會(huì)采用獨(dú)立的H.245控制信道的方式,而是采用快速連接方式或H.245消息封裝方式完成邏輯信道的建立。所以往往只需要重組TCP1720端口的數(shù)據(jù)進(jìn)行Q.931的解析就可以獲得RTP動(dòng)態(tài)端口。
      VoIP協(xié)議解析主要是調(diào)用Openh323開源代碼庫(kù)。Openh323項(xiàng)目是澳大利亞的Equivalence Pty Ltd公司組織開發(fā)的,這個(gè)協(xié)議庫(kù)完全符合H.323協(xié)議,主要是免費(fèi)面向所有想從事VoIP和網(wǎng)絡(luò)視頻傳輸?shù)能浖_發(fā)商使用。
      信令提取是針對(duì)每個(gè)TCP連接進(jìn)行的,協(xié)議解析也是針對(duì)每個(gè)TCP連接進(jìn)行的。H.323呼叫建立過程中存在兩種連接過程,快連接和慢連接。在慢連接呼叫過程中,H.323端點(diǎn)一般要經(jīng)過三個(gè)控制過程呼叫接納控制,呼叫控制,連接控制。而快連接過程利用快啟動(dòng)元素和隧道機(jī)制傳輸連接控制的信息,沒有建立H.245連接。
      針對(duì)慢連接過程,可以得出以下對(duì)一次H.323呼叫進(jìn)行監(jiān)聽的過程(1)重組Q.931連接的流數(shù)據(jù),解析Q.931信令,可以得到通話雙方電話號(hào)碼和IP地址等信息和H.245控制信道地址;(2)重組H.245連接的數(shù)據(jù),解析該連接的H.245控制信令,可以得到通話媒體流使用的音頻信道地址;(3)根據(jù)音頻信道地址從而可以截取通話的音頻數(shù)據(jù)即通話內(nèi)容;(4)關(guān)聯(lián)這三個(gè)過程中獲取的信息,可以獲得一個(gè)H.323呼叫的完整信息。Q931協(xié)議負(fù)責(zé)H.323呼叫的建立和拆除,因此應(yīng)將所有的通話信息與Q.931連接進(jìn)行關(guān)聯(lián)。
      而對(duì)快連接過程的H.323呼叫進(jìn)行監(jiān)聽,只需要重組Q.931連接的流數(shù)據(jù),解析Q.931信令,從與快連接相關(guān)的信息元素中提取信息,獲取媒體信道地址,將截取的音頻數(shù)據(jù)和信令信息與Q.931連接進(jìn)行關(guān)聯(lián)。
      H.245連接地址都是由Q.931連接過程協(xié)商確定的,因此系統(tǒng)最初不需要重組任何H.245連接。只有在Q.931信令中獲取到H.245地址后,才需要對(duì)這些目標(biāo)H.245地址的連接進(jìn)行重組。
      針對(duì)快連接和慢連接兩種不同的連接,綜合分析,可得出以下協(xié)議解析過程。協(xié)議解析過程如圖5所示。
      H.245連接地址都是由Q.931連接過程協(xié)商確定的,因此系統(tǒng)最初不需要重組任何H.245連接。只有在Q.931信令中獲取到H.245地址后,才需要對(duì)這些目標(biāo)H.245地址的連接進(jìn)行重組。只重組H245目標(biāo)隊(duì)列中的H.245連接會(huì)話,且在H.245連接結(jié)束時(shí),要?jiǎng)h除H245目標(biāo)隊(duì)列中本連接對(duì)應(yīng)的目標(biāo)。
      Q.931的約定端口是1720,但這個(gè)端口不是知名端口,這就意味著目的端口或源端口為1720的TCP數(shù)據(jù)包不一定是Q.931數(shù)據(jù)。Q.931連接中信令的解析過程如下首先判斷該信令是否為Q.931信令,若為Q.931數(shù)據(jù),則進(jìn)行進(jìn)一步解析;若為SETUP信令,則提取雙方身份信息,主叫被叫電話號(hào)碼,所在服務(wù)器信息;若為CONNECT信令,則提取H.245信道的地址信息,若有,則修改過濾規(guī)則,添加對(duì)這個(gè)H.245地址的監(jiān)聽;對(duì)所有的信令都嘗試獲取媒體通道即RTP地址信息,當(dāng)通話雙方的RTP的端口都獲得之后,就通知語音記錄存儲(chǔ)RTP數(shù)據(jù)包。
      H.245連接的端口都是通過Q.931協(xié)議通信過程動(dòng)態(tài)確定的。解析H.245信令在于判斷邏輯通道是否建立,獲取通話雙方的RTP地址信息。H.245連接中信令的解析過程如下先判斷該信令是否為H.245信令,若為H.245數(shù)據(jù),則進(jìn)行進(jìn)一步解析;對(duì)所有的信令都嘗試獲取媒體通道即RTP地址信息,當(dāng)通話雙方的RTP的端口都獲得之后,就通知語音記錄存儲(chǔ)RTP數(shù)據(jù)包。
      4)語音還原語音還原處理的數(shù)據(jù)為VoIP協(xié)議解析中提取的RTP數(shù)據(jù),RTP數(shù)據(jù)承載在UDP協(xié)議之上。
      VoIP系統(tǒng)音頻數(shù)據(jù)傳輸過程如圖6所示。在通過呼叫控制信令(如H.323、SIP)建立起兩個(gè)終端之間的媒體流通道后,便開始了兩個(gè)終端之間的語音傳遞過程。整個(gè)過程始于對(duì)模擬音頻的模數(shù)轉(zhuǎn)換,經(jīng)過抽樣、量化、編碼生成的原始PCM數(shù)據(jù)再經(jīng)過音頻編碼器的壓縮編碼生成待傳送的音頻數(shù)據(jù),通過RTP、UDP、IP協(xié)議的層層封裝生成包含有音頻抽樣信息的IP報(bào)文發(fā)送到接收終端。接收端接收到含有音頻數(shù)據(jù)的IP報(bào)文取出RTP凈荷中的音頻數(shù)據(jù),送入相應(yīng)的解碼器解碼,然后通過音頻設(shè)備進(jìn)行數(shù)模轉(zhuǎn)換,回放出原始的聲音來。
      語音還原技術(shù)就是通過處理和解析RTP協(xié)議數(shù)據(jù)包,按照正確的順序取出RTP凈荷,對(duì)RTP凈荷進(jìn)行解碼生成wav文件,以及把兩路wav文件合成為一個(gè)包含兩路會(huì)話內(nèi)容的wav文件的處理過程。
      整個(gè)語音還原過程如圖7所示。
      排序處理由于網(wǎng)絡(luò)傳輸存在一定的不可靠性,在數(shù)據(jù)傳輸?shù)倪^程中有可能會(huì)導(dǎo)致數(shù)據(jù)包到達(dá)順序的局部混亂,通過排序?qū)⒑芎玫慕鉀Q這個(gè)問題。
      從RTP協(xié)議來看,可以用于進(jìn)行排序的域有兩個(gè),即序列號(hào)和時(shí)間戳。在沒有出現(xiàn)亂序的情況下,序列號(hào)和時(shí)間戳都應(yīng)該是遞增的,而序列號(hào)的遞增量應(yīng)該為1。但是序列號(hào)是一個(gè)16bit的域,在長(zhǎng)時(shí)間的通話過程中有可能存在溢出的情況,這將導(dǎo)致排序結(jié)果的不正確。通過實(shí)驗(yàn)觀察,在實(shí)際的通話過程中這種情況確實(shí)存在。
      圖8所示為采用Ethereal網(wǎng)絡(luò)數(shù)據(jù)分析軟件抓到的RTP數(shù)據(jù)包,其中就存在序列號(hào)溢出。因此,我們采用時(shí)間戳域作為索引對(duì)數(shù)據(jù)包進(jìn)行排序。待排序的數(shù)據(jù)特征是數(shù)據(jù)基本有序,通過綜合考慮各種排序算法的時(shí)間復(fù)雜度和程序?qū)崿F(xiàn)的復(fù)雜度,我們采用直接插入排序法,比較順序?yàn)閺暮笙蚯啊?br> 補(bǔ)包處理網(wǎng)絡(luò)傳輸?shù)牟豢煽啃赃€會(huì)導(dǎo)致數(shù)據(jù)包的丟失,可以用填補(bǔ)丟失數(shù)據(jù)包的方法解決。然而,前一種情況屬于非正常缺失,出現(xiàn)的概率是很小的。VoIP系統(tǒng)實(shí)現(xiàn)中,常常在檢測(cè)出通話靜音期后,采用停發(fā)語音包的方法以減少語音數(shù)據(jù)傳輸所占用的帶寬。補(bǔ)包處理主要是為了解決這種更為普遍的正常缺失情況。如果不進(jìn)行補(bǔ)包處理,通話過程中靜音期的停頓在恢復(fù)出語音后將無法體現(xiàn),勢(shì)必嚴(yán)重影響語音還原的效果,還會(huì)導(dǎo)致兩路音頻進(jìn)行合路后聲音的嚴(yán)重不同步。
      音頻解碼音頻解碼過程采用于RTP頭中負(fù)載類型相一致的解碼器對(duì)RTP凈荷數(shù)據(jù)進(jìn)行解碼,生成16位的原始PCM數(shù)據(jù),然后寫入.wav文件中,最終生成能夠采用音頻播放器進(jìn)行播放的.wav音頻文件。
      支持的音頻解碼方式為VoIP系統(tǒng)應(yīng)用最為廣泛的G.711A-law/u-law,G.729,G.723.1。
      雙向音頻的合路處理通過前面的處理過程,一次通話的兩路會(huì)話都記錄在各自的.wav文件中,而且保證其內(nèi)容是同步對(duì)齊的。合路處理采用把兩路.wav文件中的數(shù)據(jù)部分按抽樣量化值按比例疊加的方法。根據(jù)數(shù)字信號(hào)處理的相關(guān)理論,通過公式推倒證明這種方法引入和量化誤差最大為一個(gè)量化級(jí),而兩路模擬音頻數(shù)據(jù)合成在一起后,再經(jīng)過量化引入的量化誤差最大為半個(gè)量化級(jí)。最大量化誤差無論是半個(gè)量化級(jí)還是一個(gè)量化級(jí),都不會(huì)對(duì)音頻的還原效果產(chǎn)生大的影響。因此,這種方法算法簡(jiǎn)單、容易實(shí)現(xiàn),且能夠保證較好的音質(zhì)。
      根據(jù)本發(fā)明的IP電話監(jiān)聽系統(tǒng)和方法的工作流程首先,相關(guān)工作人員需要與目標(biāo)網(wǎng)絡(luò)(被監(jiān)聽網(wǎng)絡(luò))管理人員交流,了解網(wǎng)絡(luò)信息,并且對(duì)監(jiān)聽系統(tǒng)的需求進(jìn)行分析。本發(fā)明運(yùn)行后,首先數(shù)據(jù)處理記錄裝置將負(fù)責(zé)過濾采集數(shù)據(jù),過濾工作一部分由硬件網(wǎng)絡(luò)設(shè)備完成,一部分由數(shù)據(jù)采集采用動(dòng)態(tài)修改過濾規(guī)則的方式完成。采集完的數(shù)據(jù)包交付給數(shù)據(jù)分析進(jìn)行處理,獲取用戶身份信息,獲取通話雙方的多媒體通道地址信息,完成協(xié)議解析。語音記錄將語音流的信息以文件的方式記錄在大型存儲(chǔ)設(shè)備上。在每個(gè)通話結(jié)束的時(shí)候通知音頻轉(zhuǎn)換裝置及時(shí)進(jìn)行音頻轉(zhuǎn)換。用戶查詢終端通過網(wǎng)頁瀏覽器輸入請(qǐng)求,訪問Apache服務(wù)器瀏覽網(wǎng)頁的方式獲取信息。
      具體流程如下所述第一步,相關(guān)工作人員要與目標(biāo)網(wǎng)絡(luò)管理人員交流,對(duì)監(jiān)聽系統(tǒng)的需求進(jìn)行分析。該步驟分析系統(tǒng)的總體需求,是本發(fā)明轉(zhuǎn)化為產(chǎn)品的基礎(chǔ)。并且相關(guān)工作人員應(yīng)該根據(jù)需求向目標(biāo)網(wǎng)絡(luò)管理人員提出獲取相關(guān)信息的要求,如IP地址與對(duì)對(duì)應(yīng)的地理位置信息等,同時(shí)協(xié)商硬件配置。
      第三步,配置系統(tǒng)所屬的網(wǎng)絡(luò)環(huán)境,確定各裝置、數(shù)據(jù)庫(kù)和大型存儲(chǔ)設(shè)備的連通。
      第二步,根據(jù)網(wǎng)絡(luò)配置信息,安裝各裝置,數(shù)據(jù)庫(kù)。
      第四步,完成前三步之后,啟動(dòng)各裝置,監(jiān)聽系統(tǒng)開始工作。
      第五步,用戶輸入查詢條件,查看查詢結(jié)果。用戶可以獲得的通話信息有

      用戶查詢普通通話信息如通話時(shí)間,通話時(shí)長(zhǎng)等,由Apache服務(wù)器解析用戶請(qǐng)求,查詢數(shù)據(jù)庫(kù),向用戶返回查詢結(jié)果。用戶要求查詢某次通話的內(nèi)容時(shí),由Apache服務(wù)器解析用戶請(qǐng)求,查詢數(shù)據(jù)庫(kù)獲得通話內(nèi)容文件所在路徑。
      第六步,用戶輸入報(bào)警條件,獲取報(bào)警結(jié)果。
      實(shí)例下面通過一個(gè)應(yīng)用實(shí)例來說明本發(fā)明的實(shí)施方案。在該應(yīng)用實(shí)例中,監(jiān)聽系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱D如圖所示。
      圖9中的骨干網(wǎng)數(shù)據(jù)是2.5G POTS光纖數(shù)據(jù)經(jīng)過網(wǎng)絡(luò)處理器過濾后的數(shù)據(jù)。交換機(jī)交換速率為百兆。
      網(wǎng)絡(luò)配置信息如下

      系統(tǒng)裝置安裝1)安裝數(shù)據(jù)處理裝置第一步編譯pwlib,openh323庫(kù)。
      第二步編寫XML配置文件,配置文件的信息包括語音記錄裝置地址及其通信端口,音頻轉(zhuǎn)換裝置地址及其通信端口,數(shù)據(jù)庫(kù)地址。
      第三步利用配置文件,執(zhí)行數(shù)據(jù)處理裝置安裝文件。
      2)安裝語音記錄裝置第一步編寫XML配置文件,配置文件的信息包括語音記錄裝置地址及其通信端口,大型存儲(chǔ)設(shè)備IP地址及其開放的用于語音記錄的路徑。
      第二步利用配置文件,執(zhí)行語音記錄裝置安裝文件。
      3)安裝音頻轉(zhuǎn)換裝置第一步編譯pwlib,openh323庫(kù)。
      第二步編寫XML配置文件,配置文件的信息包括語音記錄裝置地址及其通信端口。
      第三步利用配置文件,執(zhí)行音頻轉(zhuǎn)換裝置安裝文件。
      監(jiān)聽結(jié)果系統(tǒng)啟動(dòng)后,通過用戶終端設(shè)備能查詢到正在進(jìn)行的和已經(jīng)完成的通話的信息,能夠播放已經(jīng)完成的通話的內(nèi)容;若用戶輸入需要被監(jiān)測(cè)的號(hào)碼,當(dāng)發(fā)現(xiàn)該號(hào)碼時(shí)能及時(shí)報(bào)警。
      權(quán)利要求
      1.一種IP電話監(jiān)聽系統(tǒng),用于對(duì)IP通話進(jìn)行監(jiān)聽,所述IP電話監(jiān)聽系統(tǒng)包括數(shù)據(jù)采集裝置,用于根據(jù)過濾規(guī)則采集數(shù)據(jù)包;數(shù)據(jù)分析裝置,用于對(duì)由數(shù)據(jù)采集裝置采集的數(shù)據(jù)進(jìn)行TCP流重組;語音存儲(chǔ)裝置,用于根據(jù)數(shù)據(jù)分析裝置的分析結(jié)果,解析出需要記錄的RPT流地址信息,并且根據(jù)所述RPT流地址信息將需要記錄的流中的RTP數(shù)據(jù)包存儲(chǔ)為文件;以及音頻轉(zhuǎn)換裝置,用于將語音存儲(chǔ)裝置存儲(chǔ)的文件中的經(jīng)過語音編碼的數(shù)據(jù)進(jìn)行解碼,生成可使用播放器播放的文件。
      2.根據(jù)權(quán)利要求1的IP電話監(jiān)聽系統(tǒng),還包括進(jìn)程守護(hù)裝置,用于監(jiān)視IP電話監(jiān)聽系統(tǒng)的可靠性。
      3.根據(jù)權(quán)利要求1的IP電話監(jiān)聽系統(tǒng),還包括用戶查詢裝置,用于IP電話監(jiān)聽系統(tǒng)與用戶之間的交互。
      4.根據(jù)權(quán)利要求1的IP電話監(jiān)聽系統(tǒng),其中,過濾規(guī)則包括硬件過濾規(guī)則和軟件過濾規(guī)則。
      5.根據(jù)權(quán)利要求4的IP電話監(jiān)聽系統(tǒng),其中,軟件過濾規(guī)則是能夠根據(jù)數(shù)據(jù)分析裝置的分析結(jié)果進(jìn)行動(dòng)態(tài)修改的動(dòng)態(tài)軟件過濾規(guī)則。
      6.根據(jù)權(quán)利要求1的IP電話監(jiān)聽系統(tǒng),其中,IP通話包括兩個(gè)RTP流,并且音頻轉(zhuǎn)換裝置對(duì)基于這兩個(gè)RTP流的文件進(jìn)行合路處理。
      7.根據(jù)權(quán)利要求1的IP電話監(jiān)聽系統(tǒng),其中,語音存儲(chǔ)裝置在解析RPT流地址信息時(shí),對(duì)RTP數(shù)據(jù)包進(jìn)行排序。
      8.根據(jù)權(quán)利要求7的IP電話監(jiān)聽系統(tǒng),其中,根據(jù)序列號(hào)和時(shí)間戳進(jìn)行排序。
      9.根據(jù)權(quán)利要求1的IP電話監(jiān)聽系統(tǒng),其中,語音存儲(chǔ)裝置在解析RPT流地址信息時(shí),對(duì)RTP數(shù)據(jù)包進(jìn)行補(bǔ)包處理。
      全文摘要
      本發(fā)明涉及一種IP電話監(jiān)聽系統(tǒng),用于對(duì)IP通話進(jìn)行監(jiān)聽,所述IP電話監(jiān)聽系統(tǒng)包括數(shù)據(jù)采集裝置,用于根據(jù)過濾規(guī)則采集數(shù)據(jù)包;數(shù)據(jù)分析裝置,用于對(duì)由數(shù)據(jù)采集裝置采集的數(shù)據(jù)進(jìn)行TCP流重組;語音存儲(chǔ)裝置,用于根據(jù)數(shù)據(jù)分析裝置的分析結(jié)果,解析出需要記錄的RPT流地址信息,并且根據(jù)所述RPT流地址信息將需要記錄的流中的RTP數(shù)據(jù)包存儲(chǔ)為文件;以及音頻轉(zhuǎn)換裝置,用于將語音存儲(chǔ)裝置存儲(chǔ)的文件中的經(jīng)過語音編碼的數(shù)據(jù)進(jìn)行解碼,生成可使用播放器播放的文件。
      文檔編號(hào)H04L12/56GK1937544SQ200610138418
      公開日2007年3月28日 申請(qǐng)日期2006年11月13日 優(yōu)先權(quán)日2006年11月13日
      發(fā)明者陳哲, 郭世澤, 牛偉, 劉志明, 段榕, 鄭康峰, 王國(guó)慶, 何韶軍, 馮帥 申請(qǐng)人:陳哲, 郭世澤, 牛偉
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1