999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

TCP/IP協議分析器的設計與實現

2016-05-30 13:43:23武焱袁焊忠席振元
關鍵詞:數據分析

武焱 袁焊忠 席振元

摘 要:在當今計算機網絡無處不在的時代,網絡攻擊時刻威協著我們所處局域網絡的安全。為了確保網絡的安全性,就要對網絡交互的數據包進行分析。本文提出了TCP/IP協議分析器的設計開發方案,并通過Qt Creator和C++編程實現。該分析器能夠捕獲網絡數據包,并根據網絡協議格式對數據進行解析,從而為進一步分析網絡系統的安全性提供依據。

關鍵詞:網絡數據包;TCP/IP協議;數據分析

1 系統需求分析

本系統主要功能需求有以下幾項:

①具備網絡數據包捕獲的參數設置: 在進行數據捕獲之前要進行協議類型、MAC地址、IP地址等參數的設置,滿足用戶的一些常規需求,保證用戶使用系統的合理性。

②能夠捕獲到本機所有的網絡數據包:通過本系統可以對網絡上的數據包進行捕獲,包括ICMP、DNS、ARP、RARP等一些網絡協議的數據包的捕獲,讓用戶通過本系統能夠捕獲到有用的數據包。

③能正確地對捕獲到的網絡數據包進行網絡協議分析:在捕獲到網絡數據包后能夠對網絡數據包進行包結構分析,對數據鏈路層數據按照幀格式進行分析,對網絡層的IP數據報的分析,對傳輸層TCP和UDP的頭格式進行分析,對應用層協議進行分析。

④能夠把捕獲到的網絡數據包保存到當地文件中:在用戶的使用過程中,可能需要對捕獲到的網絡數據包進行存儲,那么需要滿足用戶對網絡數據包的存儲功能,讓用戶能夠更靈活地使用本系統。

⑤能夠打開已經捕獲到的網絡數據文件并進行網絡協議分析:能夠滿足用戶打開已經保存的網絡數據文件,并進行網絡協議分析,這樣用戶就能隨時隨地對以前的網絡數據進行協議分析了。

⑥能統計當前所有網絡接口的網絡數據包:通過這個功能,用戶可以查看當前網絡接口的數據包數量和每秒通過的數據量,用戶可以清晰地掌握當前網絡接口通過數據包的狀況,有助于用戶對網絡接口的檢測。

2 總體設計

2.1系統總體模塊設計

通過系統需求分析可以將網絡協議分析器分為四大主要功能模塊,分別為文件存儲與讀取模塊、抓包參數設置模塊、數據包捕獲模塊和數據包分析模塊。這些模塊詳細功能如下:

①文件存儲與讀取模塊:通過捕獲網絡數據包,把其存儲到文件中,有利于以后對網絡數據包的分析;讀取已經捕獲到并存儲到文件中的數據包,并進行協議分析。

②抓包參數設置模塊:通過配置抓包參數,來確定捕獲數據包的類型,可以指定捕獲網絡數據包的MAC地址和網絡地址,并能夠對網絡協議和網絡數據包大小進行設置。

③數據包捕獲模塊:通過配置的抓包參數進行數據包的捕獲,在程序運行的過程中,會將捕獲到的數據包以鏈表的形式存儲起來,以供下一步的分析。

④數據包分析模塊:根據捕獲到的數據包進行各層協議分析,將分析的結果以可視化的界面形式展示給用戶,讓用戶能夠看清每層協議的格式和數據包數據部分內容。

系統功能模塊圖如圖1所示:

2.2 軟件開發平臺

本系統開發平臺是一般的PC機,使用Windows 8版本。因為本系統沒有涉及到數據庫所以就沒有使用數據庫。程序開發使用的編程環境是Qt 5.4.1中文版,并且opensource使用的版本是Qt Creator 3.3.1。用到的數據包捕獲函數庫為WinPcap,這個函數庫主要運行在操作系統的底層,所以使用這個函數庫會大大提升本系統的運行效率,尤其在大量循環捕獲網絡數據包的時候,優勢就愈發明顯。編程工具Qt Creator具有很好的跨平臺性能,可以很輕松的把本系統移植到Linux環境的系統中去。

3 詳細設計

系統中各個功能模塊的界面是用Qt Designer來設計的,它提供可視化的界面操作,通過拖動控件來實現我們想要的界面效果,方便高效。Qt提供的信號與槽的機制對邏輯功能的編程更加方便。根據模塊所需要實現的功能,編寫代碼,最終實現系統的整體功能。

3.1 協議頭結構設計

通過對協議頭結構體的設計,幫助我們完成網絡數據包的解析,將定義的結構體與捕獲到的網絡數據包進行匹配,把相應的字段進行處理,從而分析出網絡協議頭格式,完成對網絡協議的分析。

設計協議頭結構體的時候需要注意以下一些事項:①明確網絡數據包的結構;②清楚網絡數據包捕獲的方法;③明確各層協議頭數據每個字節或每個字段的含義;④定義對應的結構體用來解析網絡協議;⑤把分析的結果以可視化的方式顯示在界面上。

這個環節是整個系統中的一個重點,不管哪里出現任何差錯,都將導致最終對網絡協議的分析出現錯誤,所以在對網絡協議頭結構體設計的時候要認真細致,確保結構體里面的字段與網絡協議的字段能夠一一對應,保證對網絡協議分析的正確性。

通過對TCP/IP網絡體系各層協議格式的分析,本系統定義了以下的結構體表:數據鏈路層幀首部結構體表(_ETHERNET_HEADER)、ARP首部結構體表(_ARP_HEADER)、IP首部結構體表(_IP_HEADER)、IPv6首部結構體表(_IP6_HEADER)、TCP首部結構體表(_TCP_HEADER)、UDP首部結構體表(_UDP_HEADER)、ICMP首部結構體表(_ICMP_HEADER)。

3.2 算法概要

抓包模塊的程序流程圖如圖2所示。在對抓包參數設置完點擊確定的時候,將選擇的每一項按照網絡數據包過濾器過濾規則進行處理,轉化為字符串模式并通過調用相應的接口函數,對過濾條件進行編譯和設置,完成對抓包參數的設計。

當捕獲到網絡數據包時,這時可以選擇一個想要分析的數據包并對數據包進行解析。這里用到數據包分析算法,算法中根據每層協議的協議類型對數據包進行解析,然后判斷下一層協議,依次解析,直到最后一層協議。

在系統使用的過程中,可能需要保存數據包,那么這里就會有數據包保存的算法。代碼中做這樣的處理:每當有數據包到來都會把數據包追加到指定的文件中,當用戶需要保存數據包的時候,只需要將數據包臨時文件拷貝到指定的目錄即可。

通常會對已經保存的數據包進行讀操作,這樣我們就會有數據包文件的讀取功能。這個功能的算法使用標準C語言的二進制讀取文件的方法,將文件一個字符一個字符地讀取出來,并分離每一個數據包,并對數據包進行相應的處理。

4 系統的編碼

4.1 主要函數

此處列出了主要函數,具體程序代碼省略。

①捕獲網絡數據包函數

int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user)

函數返回值:成功返回0,失敗返回負數。

參數描述:p: Libpcap句柄,cnt: 指定捕獲的數據包個數,-1代表無限個,callback: 回調函數,可在此函數中對數據包進行處理,user: 表示往回調函數傳的參數。

②打開存儲文件函數

pcap_dumper_t *pcap_dump_open(pcap_t *p, const char *filename)

函數返回值:成功返回一個文件句柄,失敗返回NULL。

參數描述:p: 表示一個Libpcap句柄,filename: 文件名。

函數功能:打開一個文件,并準備向其寫入網絡數據包。

③IP協議分析函數

void ethernet_protocol_IPpacket (LinkList p)

函數返回值:無返回值。

參數描述:p: LinkList類型的鏈表節點指針。

④TCP協議分析

void ethernet_protocol_TCPpacket (LinkList p, bool isIP6)

函數返回值:無返回值。

參數描述:p: LinkList類型的鏈表節點指針,isIP6: 是否為IPv6數據包。

4.2 數據包結構分析結果顯示

在數據包成功捕獲后,選擇要解析的數據包進行數據包的解析,數據包協議分析界面如圖3所示。在主窗口的右上方有一個表格,里面顯示捕獲到的每一個數據包的基本信息,如果要對其中的一個數據包進行協議分析,那么需要點擊要分析的那個數據包,協議分析的結果會在左側的樹形列表中顯示出來,下面窗口中則顯示數據包的原始數據和數據包數據。

5 結束語

本系統實現了對網絡數據抓包以及對數據鏈路層、網絡層、傳輸層和應用層等各層協議分析。在對網絡數據捕獲中,主要用到了操作系統底層的WinPcap函數庫,在大量捕獲網絡數據包時系統運行效率高;使用的編程工具是能夠跨平臺的Qt Creator,具有良好的可移植性和跨平臺性。應用該系統能夠捕獲到網絡上交互的全部數據包,并把數據包的內容顯示給用戶,把每層協議的協議頭按照協議格式解析,讓用戶更清楚地知道當前網絡的網絡數據交互狀態,進一步分析網絡系統的安全性。

參考文獻:

[1]劉文濤編著.網絡安全開發包詳解[M].電子工業出版社,2005.10:20-30.

[2]嚴蔚敏,吳偉民編著.數據結構(C語言版)[M].清華大學出版社,1997.4:55-60.

[3]殷人昆,鄭人杰,馬素霞等編著.實用軟件工程[M].第三版.清華大學出版社,2011年.

[4]明日科技編著.Visual C++從入門到精通[M].第三版.清華大學出版社,2012年9月:3-31.

[5]Bruce Eckel,Chuck Allison編著.C++編程思想[M].劉宗田,袁兆山等譯.機械工業出版社,2011年7月:52-70.

[6]陸文周編著.QT5開發及實例[M].電子工業出版社,2014年1月:11-89.

[7]布蘭切特,薩默菲爾德編著.C++GUI Qt4編程[M].第二版,閆鋒欣等譯.電子工業出版社,2013年5月:21-33.

[8]Brian W.Kernighan,Dennis M.Ritchie編著.C程序設計語言[M].第二版.機械工業出版社,2004年1月:30-60.

[9]W.Richard Stevens編著.TCP_IP協議詳解:卷一[M].機械工業出版社,2005年7月:37-45.

[10]Gary R. Wright,W. Richard Stevens編著.TCP_IP協議詳解:卷二[M].機械工業出版社,2001年12月:28-67.

基金項目:

國家級大學生創新訓練項目(201335)。

猜你喜歡
數據分析
電子物證檢驗的數據分析與信息應用研究
基于matlab曲線擬合的數據預測分析
商情(2016年40期)2016-11-28 11:28:07
分眾媒體趨勢下場景營銷的商業前景
商(2016年32期)2016-11-24 17:39:41
佛山某給水管線控制測量探討
科技資訊(2016年18期)2016-11-15 18:05:53
SPSS在環境地球化學中的應用
考試周刊(2016年84期)2016-11-11 23:57:34
大數據時代高校數據管理的思考
科技視界(2016年18期)2016-11-03 22:51:40
我校如何利用體育大課間活動解決男生引體向上這個薄弱環節
體育時空(2016年8期)2016-10-25 18:02:39
Excel電子表格在財務日常工作中的應用
淺析大數據時代背景下的市場營銷策略
新常態下集團公司內部審計工作研究
中國市場(2016年36期)2016-10-19 04:31:23
主站蜘蛛池模板: 国产成人亚洲综合A∨在线播放| 久草中文网| 99久久精品国产综合婷婷| 五月婷婷丁香综合| 日本黄色不卡视频| 无码高潮喷水专区久久| 四虎成人精品| 99热这里只有精品免费| 大学生久久香蕉国产线观看| 伊人久久久久久久久久| 亚洲自偷自拍另类小说| 重口调教一区二区视频| 欧亚日韩Av| 国产成人乱无码视频| 国产无码在线调教| 无码高清专区| 91美女视频在线观看| 免费不卡视频| 久久免费视频播放| 97视频免费看| 91蜜芽尤物福利在线观看| 激情乱人伦| 五月天综合婷婷| 乱码国产乱码精品精在线播放| 中文字幕丝袜一区二区| 欧美区国产区| 波多野结衣亚洲一区| 欧美不卡视频一区发布| 一本一道波多野结衣av黑人在线| 香蕉99国内自产自拍视频| 99在线观看国产| 国产精品精品视频| 香蕉视频在线精品| 亚洲成人免费看| 一本久道久综合久久鬼色| 欧美成人综合视频| 亚洲av综合网| 亚洲V日韩V无码一区二区| 亚洲色图欧美在线| 亚洲精品777| 婷婷综合色| 男女猛烈无遮挡午夜视频| 狠狠亚洲五月天| 97视频在线观看免费视频| 亚洲美女一区二区三区| 国产欧美自拍视频| 国产成人久久777777| 亚洲日韩在线满18点击进入| 国产精品美女自慰喷水| 免费高清毛片| 91在线播放免费不卡无毒| 亚洲欧美一区二区三区麻豆| 日本久久网站| 日韩乱码免费一区二区三区| 老司机久久99久久精品播放 | 国产99在线| 国产系列在线| 国产亚洲精品91| 久青草网站| 亚洲男人的天堂网| 在线免费无码视频| 国产精品内射视频| 狠狠色丁香婷婷综合| 亚洲成aⅴ人在线观看| 亚洲av无码片一区二区三区| 国产人人射| 国产精品女同一区三区五区| jizz国产视频| 亚洲日韩精品欧美中文字幕| 538国产在线| 亚洲国产精品不卡在线 | 亚洲综合色婷婷| 亚洲男人在线天堂| 精品91视频| 国产成人一区二区| 日日摸夜夜爽无码| 国产福利不卡视频| 国产麻豆精品久久一二三| 高清无码手机在线观看| 人妻中文久热无码丝袜| 国产成人调教在线视频| 亚洲人成色在线观看|