• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于WinPcap的民航通信網(wǎng)絡(luò)數(shù)據(jù)監(jiān)測(cè)與應(yīng)用分析

      2020-11-30 09:02:22劉飛
      軟件 2020年9期

      摘? 要: 本文利用數(shù)據(jù)捕獲開(kāi)源庫(kù)WinPcap,致力于從網(wǎng)絡(luò)底層提供一種民航通信網(wǎng)絡(luò)的數(shù)據(jù)幀嗅探、網(wǎng)絡(luò)監(jiān)視和應(yīng)用分析的解決方案。方案架構(gòu)是具有高并發(fā)的生產(chǎn)者消費(fèi)者模式,多線程的完成四個(gè)功能架構(gòu)模塊的處理,同時(shí)從五個(gè)方面來(lái)完成數(shù)據(jù)應(yīng)用分析,實(shí)時(shí)掌握網(wǎng)絡(luò)利用情況,提供高效的數(shù)據(jù)查詢、信息統(tǒng)計(jì)和網(wǎng)絡(luò)監(jiān)測(cè)服務(wù),并對(duì)數(shù)據(jù)庫(kù)提出幾點(diǎn)優(yōu)化改進(jìn)意見(jiàn)。最后根據(jù)統(tǒng)計(jì)信息可以進(jìn)一步優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),提供更加安全、可靠和高效的通信服務(wù)。

      關(guān)鍵詞: 民航通信;幀嗅探;網(wǎng)絡(luò)監(jiān)測(cè)

      中圖分類號(hào): TP393.09? ? 文獻(xiàn)標(biāo)識(shí)碼: A? ? DOI:10.3969/j.issn.1003-6970.2020.09.049

      本文著錄格式:劉飛. 基于WinPcap的民航通信網(wǎng)絡(luò)數(shù)據(jù)監(jiān)測(cè)與應(yīng)用分析[J]. 軟件,2020,41(09):189191

      【Abstract】: This paper uses WinPcap, an open source data acquisition library, to provide a solution for data? ? ? ?frame sniffing, network monitoring and application analysis of civil aviation communication network from the bottom of the network. The scheme architecture is a producer-consumer mode with high concurrency. It completes the processing of four functional architecture modules by multithreading. At the same time, it completes data application analysis from five aspects, grasps the network utilization in real time, provides efficient data query, information statistics and network monitoring services, and puts forward some suggestions for database optimization and improvement. Finally, according to the statistical information, the network structure can be further optimized to provide more secure, reliable and efficient communication services.

      【Key words】: Civil aviation communication; Frame sniffing; Network monitoring

      0? 引言

      隨著民航的快速發(fā)展,民航通信網(wǎng)絡(luò)規(guī)模越來(lái)越大,網(wǎng)絡(luò)結(jié)構(gòu)也越來(lái)越復(fù)雜。民航通信網(wǎng)絡(luò)大體分為局域通信網(wǎng)絡(luò)和異地傳輸網(wǎng)絡(luò)。傳輸網(wǎng)絡(luò)按照中國(guó)民航航空系統(tǒng)組塊升級(jí)(ASBU)發(fā)展與實(shí)施策略,未來(lái)將采用IP作為地面網(wǎng)絡(luò)的核心技術(shù)[1]。因此有必要從網(wǎng)絡(luò)底層提供一種民航通信局域網(wǎng)絡(luò)和傳輸終端網(wǎng)絡(luò)的數(shù)據(jù)幀嗅探、網(wǎng)絡(luò)監(jiān)視和應(yīng)用分析的解決方案。WinPcap提供抓包和網(wǎng)絡(luò)分析的功能,可通過(guò)網(wǎng)絡(luò)適配器監(jiān)聽(tīng)共享通信網(wǎng)絡(luò)上的數(shù)據(jù)幀,完成網(wǎng)絡(luò)監(jiān)視、故障診斷、統(tǒng)計(jì)分析等功能。

      1? 網(wǎng)絡(luò)數(shù)據(jù)封裝

      TCP/IP模型參考了OSI理論體系結(jié)構(gòu),具有分層結(jié)構(gòu),分別為應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和網(wǎng)絡(luò)接口層,見(jiàn)圖1。最上層的應(yīng)用層通過(guò)各種協(xié)議向應(yīng)用進(jìn)程提供各種業(yè)務(wù)應(yīng)用,數(shù)據(jù)在從上層向下層傳送的過(guò)程中完成數(shù)據(jù)封裝,并以比特流的形式傳給底層通信設(shè)備。網(wǎng)絡(luò)接口層使用兩種標(biāo)準(zhǔn)幀格式,Ethernet_II和IEEE802.3。不同的Length/Type字段值用來(lái)區(qū)別這兩種幀的類型,當(dāng)字段值小于等于1 500(0x05DC)時(shí),幀使用的是IEEE802.3格式;當(dāng)字段值大于等于1 536(0x0600)時(shí),幀使用的是EthernetII格式,網(wǎng)絡(luò)中大部分使用EthernetII格式[2]。

      本文例舉EthernetII格式,D.MAC代表目的物理地址,S.MAC代表源物理地址,TYPE標(biāo)識(shí)協(xié)議類型,DATA為網(wǎng)絡(luò)層的數(shù)據(jù)包,F(xiàn)CS是校驗(yàn)字段。數(shù)據(jù)封裝過(guò)程中,協(xié)議數(shù)據(jù)單元在傳輸層添加協(xié)議報(bào)頭生成數(shù)據(jù)段,網(wǎng)絡(luò)層添加IP報(bào)頭生成數(shù)據(jù)包,網(wǎng)絡(luò)接口層添加幀頭(D.MAC、S.MAC、TYPE)和幀尾(FCS)生成數(shù)據(jù)幀。解封裝是封裝的逆過(guò)程,從接口層到應(yīng)用層逐漸拆解協(xié)議包,處理包頭中的信息,取出數(shù)據(jù)信息。本文根據(jù)解封裝過(guò)程,按照順序提取出幀中的type、timestamp、protocol、sourceIP、destinationIP、protocoldata等信息,為數(shù)據(jù)分析和統(tǒng)計(jì)做準(zhǔn)備。

      2? WinPcap技術(shù)

      WinPcap(windows packet capture)是為應(yīng)用程序捕獲網(wǎng)絡(luò)底層數(shù)據(jù)的開(kāi)源庫(kù),可以嗅探到網(wǎng)絡(luò)接口層的以太網(wǎng)幀,適用于數(shù)據(jù)監(jiān)控、協(xié)議分析、網(wǎng)絡(luò)安全等方面。WinPcap分為三個(gè)部分:核心的NPF(netgroup packet filter),運(yùn)行在操作系統(tǒng)內(nèi)核中的驅(qū)動(dòng)程序,直接與網(wǎng)絡(luò)驅(qū)動(dòng)程序交互,獲取網(wǎng)絡(luò)上的原始數(shù)據(jù)[3];底層動(dòng)態(tài)鏈接庫(kù)packet.dll,提供訪問(wèn)驅(qū)動(dòng)的函數(shù);高級(jí)系統(tǒng)無(wú)關(guān)庫(kù)wpcap.dll,更強(qiáng)大的與libpcap一致的高層抓包函數(shù)庫(kù)。數(shù)據(jù)捕獲是將網(wǎng)絡(luò)適配器設(shè)置為混雜監(jiān)聽(tīng)模式(promiscuous),在總線型以太網(wǎng)上,適配器可以接收一切可接收的數(shù)據(jù)[4]。

      本文使用wpcap.dll動(dòng)態(tài)鏈接庫(kù)中的API函數(shù)來(lái)完成數(shù)據(jù)幀嗅探,總體包括獲取已連接的網(wǎng)絡(luò)適配器列表,設(shè)置適配器模式,打開(kāi)適配器,循環(huán)捕獲數(shù)據(jù)幀,釋放適配器。

      pcap_findalldevs_ex()獲取已連接的網(wǎng)絡(luò)適配器,返回適配器的詳細(xì)信息;

      pcap_open_live()打開(kāi)適配器,參數(shù)flag需設(shè)置成promiscuous模式;

      pcap_next_ex()不用回調(diào)方法從適配器獲取數(shù)據(jù)幀;

      pcap_freealldevs()釋放適配器占用的內(nèi)存資源。

      3? 協(xié)議解析算法

      數(shù)據(jù)幀嗅探是直接調(diào)用wpcap.dll動(dòng)態(tài)鏈接庫(kù)中的API函數(shù)來(lái)完成,但是捕獲到的以太網(wǎng)幀是一串需要按特定協(xié)議格式解析的字符串,API函數(shù)沒(méi)有此種函數(shù)。這就需要設(shè)計(jì)一種算法,便捷高效地完成以太網(wǎng)幀的解碼,其優(yōu)劣也制約著數(shù)據(jù)交換處理能力。本算法基于函數(shù)unflatten from string,即按照簇規(guī)定的格式從字符串中智能化匹配出需要的信息,見(jiàn)圖2。第一次是從以太網(wǎng)幀中還原出以太網(wǎng)幀頭部和幀內(nèi)容,第二次是從幀內(nèi)容中還原出具體協(xié)議的頭部和協(xié)議內(nèi)容,輸出的數(shù)據(jù)也是具有規(guī)定格式的簇變量,方便二次開(kāi)發(fā)和數(shù)據(jù)傳遞。

      4? 功能應(yīng)用分析

      協(xié)議數(shù)據(jù)按不同字段存入MySQL中,應(yīng)用分析從五個(gè)方面來(lái)統(tǒng)計(jì)分析庫(kù)中大量數(shù)據(jù),實(shí)時(shí)掌握網(wǎng)絡(luò)利用情況。例如,針對(duì)信息安全等級(jí)為三級(jí)的監(jiān)視數(shù)據(jù)處理服務(wù)器網(wǎng)絡(luò),服務(wù)器通過(guò)1803端口本地廣播監(jiān)視融合數(shù)據(jù),服務(wù)器和終端通過(guò)1801端口本地廣播心跳信息,AeroTrac服務(wù)器會(huì)將單雷達(dá)數(shù)據(jù)繞轉(zhuǎn)到網(wǎng)絡(luò)中,萊斯監(jiān)視服務(wù)器有專門的雷達(dá)子網(wǎng)。按照本文的解決方案,實(shí)時(shí)監(jiān)測(cè)網(wǎng)絡(luò)中服務(wù)器不同端口UDP協(xié)議數(shù)量和網(wǎng)絡(luò)中單雷達(dá)數(shù)據(jù),對(duì)于發(fā)現(xiàn)進(jìn)程阻塞、心跳異常、信道故障等方面有積極作用。

      4.1? 協(xié)議數(shù)據(jù)

      協(xié)議數(shù)據(jù)包括協(xié)議頭部和協(xié)議內(nèi)容兩部分。協(xié)議頭部按照上文解析算法從簇變量中解綁得到Protocol、Identification、IP Address等信息,協(xié)議內(nèi)容是應(yīng)用層的應(yīng)用進(jìn)程協(xié)議數(shù)據(jù)單元PDU。同時(shí)太網(wǎng)幀中的Type字段,表示數(shù)據(jù)應(yīng)該發(fā)送到上層哪個(gè)協(xié)議處理,也需要存入數(shù)據(jù)庫(kù)。協(xié)議數(shù)據(jù)按type、timestamp、protocol、sourceIP、destinationIP、protocoldata六列存入關(guān)系型數(shù)據(jù)庫(kù)MySQL,以便快速靈活完成數(shù)據(jù)查詢和統(tǒng)計(jì)分析功能。

      4.2? 協(xié)議分布

      根據(jù)協(xié)議數(shù)據(jù)的時(shí)間戳timestamp查詢數(shù)據(jù)庫(kù)中單位時(shí)間各種協(xié)議數(shù)量,用ECharts餅圖展示各種協(xié)? 議分布情況。數(shù)據(jù)庫(kù)字段type和protocol值可確定協(xié)議類型,比如UDP協(xié)議type值為0x0800,protocol值為17。

      4.3? 某IP活動(dòng)

      根據(jù)協(xié)議數(shù)據(jù)的時(shí)間戳timestamp查詢數(shù)據(jù)庫(kù)中單位時(shí)間IP數(shù)據(jù)包量和對(duì)應(yīng)協(xié)議量,并以ECharts柱狀圖展示統(tǒng)計(jì)信息。數(shù)據(jù)庫(kù)字段sourceIP、destinationIP可確定源IP地址和目的IP地址,再根據(jù)字段type和protocol值可確定IP對(duì)于的協(xié)議類型數(shù)量。

      4.4? 故障診斷

      根據(jù)時(shí)間戳timestamp和IP地址查找協(xié)議數(shù)據(jù),針對(duì)故障現(xiàn)象從底層查找特定時(shí)間段、IP地址、端口、協(xié)議類型的數(shù)據(jù)包,分析故障原因。

      4.5? 安全監(jiān)視

      根據(jù)統(tǒng)計(jì)分析的結(jié)果,綜合評(píng)判網(wǎng)絡(luò)狀態(tài)、進(jìn)程運(yùn)行、信息傳輸狀況,發(fā)現(xiàn)網(wǎng)絡(luò)中的可疑網(wǎng)絡(luò)行為并提供告警服務(wù)。

      5? 架構(gòu)與模塊

      本文基于虛擬儀器技術(shù),采用兩個(gè)隊(duì)列三個(gè)循環(huán)多線程完成數(shù)據(jù)采集、協(xié)議分析、存儲(chǔ)與應(yīng)用分析,即生產(chǎn)者消費(fèi)者模式。生產(chǎn)者與消費(fèi)者之間通過(guò)隊(duì)列來(lái)作為數(shù)據(jù)緩沖區(qū),平衡了生產(chǎn)者和消費(fèi)者的處理能力,保證數(shù)據(jù)采集、處理和存儲(chǔ)的高并發(fā)。

      5.1? 數(shù)據(jù)采集模塊

      該模塊負(fù)責(zé)網(wǎng)絡(luò)上傳輸數(shù)據(jù)幀進(jìn)行采集,庫(kù)PCAP調(diào)用wpcap.dll動(dòng)態(tài)鏈接庫(kù)中的API函數(shù)來(lái)封裝成子函數(shù),完成適配器操作和數(shù)據(jù)幀讀取,加入到以太網(wǎng)幀隊(duì)列。

      PCAP.Initialize完成程序初始化;

      PCAP.Get Interface查找PC中的網(wǎng)絡(luò)適配器;

      PCAP.Open Interface操作網(wǎng)絡(luò)適配器并設(shè)置為混雜監(jiān)聽(tīng)模式;

      PCAP.Read Packet讀取網(wǎng)絡(luò)適配器所能接受到的數(shù)據(jù)幀;

      PCAP.Close Interface釋放網(wǎng)絡(luò)適配器并關(guān)閉應(yīng)用。

      5.2? 協(xié)議分析模塊

      該模塊負(fù)責(zé)將采集到的數(shù)據(jù)幀匹配出協(xié)議數(shù)據(jù),庫(kù)PROT按照上文協(xié)議解析算法從以太網(wǎng)幀隊(duì)列取出數(shù)據(jù)幀來(lái)識(shí)別協(xié)議類型和完成協(xié)議分析,最后將得到的協(xié)議數(shù)據(jù)加入到協(xié)議數(shù)據(jù)隊(duì)列中。

      PROT.Identify Protocol根據(jù)Length/Type字段識(shí)別幀類型和協(xié)議頭部Protocol值判斷協(xié)議類型;

      PROT.Parse Packet按照上文協(xié)議解析算法分析出協(xié)議頭部和協(xié)議內(nèi)容。

      5.3? 存儲(chǔ)與應(yīng)用分析模塊

      該模塊取出協(xié)議數(shù)據(jù)隊(duì)列的數(shù)據(jù),存儲(chǔ)于MySQL關(guān)系型數(shù)據(jù)庫(kù)中,同時(shí)完成協(xié)議分布、某IP活動(dòng)、故障診斷、安全監(jiān)視等方面的應(yīng)用統(tǒng)計(jì)分析。此模塊涉及到數(shù)據(jù)庫(kù)插入和查詢功能,INSERT 函數(shù)將協(xié)議數(shù)據(jù)到存入MySQL數(shù)據(jù)庫(kù),SELECT函數(shù)按照條件查詢來(lái)統(tǒng)計(jì)結(jié)果。

      5.4? WEB服務(wù)模塊

      Wampserver是一款A(yù)pache Web服務(wù)器、PHP解釋器以及MySQL數(shù)據(jù)庫(kù)的整合軟件包,免去繁瑣的配置環(huán)境過(guò)程,可以輕松搭建需要的WEB服務(wù)。ECharts是 JavaScript 實(shí)現(xiàn)的開(kāi)源可視化庫(kù),提供了豐富的可視化統(tǒng)計(jì)圖表。此模塊在Wampserver和ECharts基礎(chǔ)上,提供一個(gè)交互網(wǎng)頁(yè),可以條件查詢MySQL中的協(xié)議數(shù)據(jù)和調(diào)用ECharts圖表庫(kù)可視化顯示不同應(yīng)用的統(tǒng)計(jì)分析信息。

      6? 數(shù)據(jù)庫(kù)優(yōu)化

      以太網(wǎng)幀在通信網(wǎng)絡(luò)中數(shù)據(jù)量較為巨大,對(duì)于幀速率為50pps的網(wǎng)絡(luò)來(lái)說(shuō),每天幀數(shù)量可達(dá)到400萬(wàn)級(jí)。因此數(shù)據(jù)庫(kù)需要優(yōu)化性能,提高數(shù)據(jù)庫(kù)訪問(wèn)的靈活性和效率,減輕服務(wù)器負(fù)擔(dān)。本文在實(shí)踐的基礎(chǔ)上,提出幾點(diǎn)優(yōu)化改進(jìn)意見(jiàn)。

      (1)選擇合適的存儲(chǔ)引擎。建立數(shù)據(jù)表時(shí)要根據(jù)應(yīng)用特點(diǎn)確定存儲(chǔ)引擎,本文應(yīng)用是插入和讀取操作為主,且對(duì)事務(wù)的ACID特性沒(méi)有要求,選擇MyISAM存儲(chǔ)引擎比較合適[5]。

      (2)前期統(tǒng)計(jì)。在幀采集和分析時(shí)可利用移位寄存器來(lái)統(tǒng)計(jì)數(shù)據(jù)量,網(wǎng)頁(yè)端只需要調(diào)用統(tǒng)計(jì)量顯示即可,避免后期在大量數(shù)據(jù)中查詢統(tǒng)計(jì)。

      (3)數(shù)據(jù)分表。每日生成一個(gè)數(shù)據(jù)表,協(xié)議數(shù)據(jù)按日期存入對(duì)應(yīng)的數(shù)據(jù)表中,可以限制表的數(shù)據(jù)量,減少數(shù)據(jù)表負(fù)擔(dān)。同時(shí)采用MySQL事件調(diào)度器Event Scheduler,根據(jù)實(shí)際應(yīng)用需求,周期性觸發(fā)數(shù)據(jù)表刪除操作,拋棄過(guò)期無(wú)用數(shù)據(jù)表;

      (4)批量插入。數(shù)據(jù)存入表時(shí)選擇批量插入,在協(xié)議數(shù)據(jù)出隊(duì)列時(shí)再次增加緩沖手段,等待數(shù)據(jù)量到達(dá)一定量時(shí)才批量存入數(shù)據(jù)表;

      (5)數(shù)據(jù)庫(kù)查詢優(yōu)化。規(guī)范SQL語(yǔ)句,添加索引,使用where、limit、字段等來(lái)限制查詢結(jié)果,避免全表掃描和無(wú)用數(shù)據(jù)查詢。

      7? 結(jié)束語(yǔ)

      本文從網(wǎng)絡(luò)底層完成民航通信網(wǎng)絡(luò)的多方面應(yīng)用分析,可更徹底了解通信網(wǎng)絡(luò)運(yùn)行狀態(tài)。整個(gè)方案架構(gòu)是具有高并發(fā)的生產(chǎn)者消費(fèi)者模式,利用緩沖特性的隊(duì)列多線程完成數(shù)據(jù)采集、協(xié)議分析、存儲(chǔ)與應(yīng)用分析,最終通過(guò)Wampserver服務(wù)器提供高效的數(shù)據(jù)查詢、信息統(tǒng)計(jì)和網(wǎng)絡(luò)監(jiān)測(cè)服務(wù)。在此基礎(chǔ)上,可以根據(jù)統(tǒng)計(jì)信息進(jìn)一步優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),提供更加安全、可靠和高效的通信服務(wù)。

      參考文獻(xiàn)

      [1]IB-TM-2015-002, 中國(guó)民航航空系統(tǒng)組塊升級(jí)(ASBU)發(fā)展與實(shí)施策略[S]. 中國(guó): 中國(guó)民用航空局空管行業(yè)管理辦公室, 2015.

      [2]以太網(wǎng)幀結(jié)構(gòu)詳解[EB/OL]. https://www.cnblogs.com, 2019-6-6.

      [3]吳玉, 李嵐. 基于WinPcap的網(wǎng)絡(luò)數(shù)據(jù)獲取系統(tǒng)的研究[J]. 微型電腦應(yīng)用, (6): 10-12.

      [4]沈輝, 張龍. 基于WinPcap的網(wǎng)絡(luò)數(shù)據(jù)監(jiān)測(cè)及分析[J]. 計(jì)算機(jī)科學(xué), 2012: 20-23+34.

      [5]韋美雁, 段華斌, 周新林. 大數(shù)據(jù)環(huán)境下的MySQL優(yōu)化技術(shù)探討[J]. 現(xiàn)代計(jì)算機(jī)(專業(yè)版), 2018, 630(30): 70-74.

      桂阳县| 广南县| 静安区| 扶余县| 乌苏市| 淮南市| 上栗县| 内黄县| 江孜县| 永德县| 罗江县| 大邑县| 和平县| 龙门县| 兰考县| 海宁市| 乌拉特前旗| 洪洞县| 岚皋县| 来凤县| 永年县| 漳平市| 黔东| 灌云县| 梁山县| 司法| 卓尼县| 平邑县| 巨鹿县| 云和县| 石泉县| 漯河市| 大同县| 娄底市| 汉源县| 阳原县| 家居| 抚远县| 手游| 五常市| 巴里|