亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        IP網(wǎng)絡(luò)數(shù)據(jù)嗅探器設(shè)計

        2014-03-31 04:45:14周璐璐
        卷宗 2014年2期
        關(guān)鍵詞:網(wǎng)卡調(diào)用列表

        周璐璐

        摘 要:隨著網(wǎng)絡(luò)技術(shù)的發(fā)展及其應(yīng)用的普及,互聯(lián)網(wǎng)上的信息資源日漸繁多,復(fù)雜的網(wǎng)絡(luò)環(huán)境使得信息存儲、處理的風(fēng)險大大增加,同時信息傳送也產(chǎn)生了新的問題。本設(shè)計IP網(wǎng)絡(luò)數(shù)據(jù)嗅探器是軟件網(wǎng)絡(luò)數(shù)據(jù)嗅探器,它可以獲得計算機的網(wǎng)卡列表供用戶選中要用于監(jiān)聽工作的網(wǎng)卡。它還可以將計算機網(wǎng)卡設(shè)置為混雜模式,從而監(jiān)聽到連接端口上出現(xiàn)的一切數(shù)據(jù)。

        關(guān)鍵字:嗅探器;協(xié)議;數(shù)據(jù)包;Winpcap;MFC;類

        隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,人們對網(wǎng)絡(luò)安全的要求越來越高,因此捕獲并分析數(shù)據(jù)包的軟件應(yīng)用日漸廣泛。IP網(wǎng)絡(luò)數(shù)據(jù)嗅探器是一款用來捕獲和分析以太網(wǎng)數(shù)據(jù)包的軟件。它可用于維護網(wǎng)絡(luò)安全,還可以獲得計算機的網(wǎng)卡列表供用戶選中要用于監(jiān)聽工作的網(wǎng)卡。它會根據(jù)用戶自定義的過濾規(guī)則捕獲數(shù)據(jù)包。通過分析數(shù)據(jù)包幀結(jié)構(gòu),它可以獲取該數(shù)據(jù)包的各層協(xié)議內(nèi)容。它可以將分析結(jié)果以及整個數(shù)據(jù)包在軟件主界面中顯示,并把數(shù)據(jù)包寫入pcap文件、導(dǎo)出到用戶所選路徑。

        下面給讀者介紹IP網(wǎng)絡(luò)數(shù)據(jù)嗅探器的總體設(shè)計和捕包過程。

        1 系統(tǒng)功能設(shè)計

        本設(shè)計的基本功能是捕獲并分析數(shù)據(jù)包,具體包括獲取網(wǎng)卡信息、打開網(wǎng)卡;用戶自定義過濾規(guī)則;捕獲數(shù)據(jù)包;通過分析數(shù)據(jù)包在網(wǎng)絡(luò)中第二、三、四層所用協(xié)議,獲得其源目的MAC地址、IP地址以及端口號,將上述內(nèi)容以列表控件的報表格式顯示在軟件主界面中;以樹控件的形式將數(shù)據(jù)幀在數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和傳輸層使用的協(xié)議數(shù)據(jù)報各字段信息顯示在軟件主界面中;以編輯框的形式將數(shù)據(jù)包內(nèi)容顯示在軟件主界面中;最后還將數(shù)據(jù)導(dǎo)出到pcap格式的文件中。

        網(wǎng)卡的配置、過濾器以及數(shù)據(jù)包的捕獲功能的實現(xiàn)主要是通過調(diào)用Winpcap提供的API函數(shù)完成的,數(shù)據(jù)解析、顯示功能的實現(xiàn)主要是通過自定義函數(shù)完成,文件導(dǎo)出部分功能的實現(xiàn)主要通過Windows Shell編程中的函數(shù)完成。

        2 系統(tǒng)的架構(gòu)設(shè)計

        IP網(wǎng)絡(luò)數(shù)據(jù)嗅探器的總體設(shè)計可以由三個模塊構(gòu)成,自底向上分別是網(wǎng)絡(luò)嗅探器設(shè)置模塊、數(shù)據(jù)包捕獲模塊和數(shù)據(jù)處理模塊。

        網(wǎng)絡(luò)嗅探器設(shè)置模塊主要是通過調(diào)用Winpcap提供的部分API函數(shù),實現(xiàn)獲取網(wǎng)卡列表信息、設(shè)置并編譯過濾器、將網(wǎng)卡置為混雜模式三個步驟;

        數(shù)據(jù)包捕獲模塊創(chuàng)建了一個新的線程,利用pcap_loop函數(shù)循環(huán)讀取數(shù)據(jù)包,直到用戶單擊操作菜單的“停止”子菜單后就會跳出循環(huán),同時調(diào)用pcap_close函數(shù)關(guān)閉捕獲模塊。該模塊在執(zhí)行捕包操作時,網(wǎng)卡已經(jīng)綁定了過濾器,因此網(wǎng)卡只會捕獲符合條件的數(shù)據(jù)包。

        數(shù)據(jù)處理模塊用于處理捕獲到的數(shù)據(jù)包。該模塊首先通過使用new 語句動態(tài)分配內(nèi)存空間用來存放捕獲數(shù)據(jù)頭部和數(shù)據(jù)信息,再通過自定義數(shù)組結(jié)構(gòu)將以上數(shù)據(jù)添加到數(shù)組結(jié)構(gòu)中以供處理數(shù)據(jù)時使用。

        3 基于Winpcap的捕包過程

        利用 Winpcap 捕獲、分析網(wǎng)絡(luò)數(shù)據(jù)時,主要是調(diào)用packet.dll和wpcap.dll庫中提供的一些函數(shù)。下面是基于Winpcap 的網(wǎng)絡(luò)數(shù)據(jù)包捕獲流程和對部分Winpcap 庫函數(shù)的介紹。各函數(shù)之間參數(shù)傳遞的具體情況如圖2所示。

        3.1 獲取網(wǎng)卡列表

        利用Winpcap 捕獲數(shù)據(jù)包時要先獲取本地網(wǎng)卡列表,Winpcap提供pcap_findalldevs和pcap_findalldev_ex函數(shù)實現(xiàn)以上功能,這兩個API 函數(shù)都返回一個pcap_if 結(jié)構(gòu)的列表,列表中含有全面的網(wǎng)卡信息,例如網(wǎng)卡設(shè)備名、網(wǎng)卡型號以及網(wǎng)卡地址。對于這兩個函數(shù),后者是前者的衍生,它不僅可獲取本地網(wǎng)卡列表,還可作用于遠程計算機,但在pcap.h中對它沒有聲明,所以調(diào)用容易出現(xiàn)錯誤,本設(shè)計選用pcap_findalldevs來獲取網(wǎng)卡列表。

        3.2 設(shè)置并編譯過濾器

        Winpcap提供pcap_compile和pcap_setfilter函數(shù)來實現(xiàn)過濾數(shù)據(jù)的功能,其中pcap_compile的作用是將用戶制定的過濾表達式編譯到過濾程序中,pcap_setfilter的作用是把過濾器綁定到抓包過程中,即為抓包過程設(shè)置過濾器。若不采用過濾機制時,該過程將省略掉,軟件抓取經(jīng)過的所有數(shù)據(jù)包。

        3.3 網(wǎng)卡設(shè)置為混雜模式

        Winpcap提供pcap_open和pcap_open_live函數(shù)設(shè)置網(wǎng)卡工作模式,函數(shù)返回用于捕獲數(shù)據(jù)包的網(wǎng)卡描述字,對該網(wǎng)卡的任何操作都要基于這個描述字。函數(shù)的promisc參數(shù)是1則表示把網(wǎng)卡設(shè)置設(shè)為混雜模式。本設(shè)計調(diào)用的是pcap_open_live函數(shù)。

        3.4 捕獲數(shù)據(jù)包

        網(wǎng)卡被打開后,就可以調(diào)用pcap_next、pacp_next_ex或pcap_loop函數(shù)捕獲數(shù)據(jù)包。pcap_next和pacp_next_ex函數(shù)捕獲一個可用數(shù)據(jù)包就返回,pcap_loop函數(shù)可以循環(huán)捕包捕獲多個數(shù)據(jù)包,直到出現(xiàn)錯誤為止。本設(shè)計調(diào)用pcap_loop函數(shù)實現(xiàn)循環(huán)捕包。

        3.5 處理數(shù)據(jù)包

        Winpcap提供的捕包函數(shù)pcap_loop會在捕獲到數(shù)據(jù)包的同時調(diào)用一個回調(diào)函數(shù)pcap_handle函數(shù)處理數(shù)據(jù)包,但回調(diào)函數(shù)具體內(nèi)容由用戶自己編寫。本設(shè)計在處理數(shù)據(jù)包方面,除了回調(diào)函數(shù)以外還有許多其他函數(shù),具體情況見數(shù)據(jù)包處理模塊的詳細分析部分。

        3.6 關(guān)閉捕包系統(tǒng)

        Winpcap提供pcap_close函數(shù)來關(guān)閉網(wǎng)卡,結(jié)束循環(huán)捕包過程。

        IP網(wǎng)絡(luò)數(shù)據(jù)嗅探器是Win32平臺下的數(shù)據(jù)包捕獲和分析軟件,它的設(shè)計基于Winpcap系統(tǒng),主要算法是調(diào)用MFC工程新建類,類中封裝實現(xiàn)各模塊功能所需的成員變量、成員函數(shù)。軟件性能的優(yōu)點在于利用Winpcap的NPF構(gòu)件直接抓取數(shù)據(jù)鏈路層的數(shù)據(jù)包,通過分析操作可得知該數(shù)據(jù)包在高層所用協(xié)議,再根據(jù)不同的協(xié)議類型對應(yīng)分析協(xié)議各字段內(nèi)容。

        猜你喜歡
        網(wǎng)卡調(diào)用列表
        巧用列表來推理
        在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
        學(xué)習(xí)運用列表法
        擴列吧
        核電項目物項調(diào)用管理的應(yīng)用研究
        Server 2016網(wǎng)卡組合模式
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
        不含3-圈的1-平面圖的列表邊染色與列表全染色
        久久精品国产亚洲av沈先生 | 极品一区二区在线视频观看| av国产传媒精品免费| 国产无遮挡裸体免费视频| 在线无码国产精品亚洲а∨| 日本高清免费播放一区二区| 亚洲精品1区2区在线观看| 免费网站看v片在线18禁无码| 18禁免费无码无遮挡网站| 中文字幕日本熟妇少妇 | 伊人狠狠色j香婷婷综合| 日本视频一区二区这里只有精品| 亚洲精品中文字幕乱码影院| 少妇av射精精品蜜桃专区| 午夜精品久久久| 亚洲男人av香蕉爽爽爽爽| 男男性恋免费视频网站| 国产乱子伦露脸在线| 久久国产A∨一二三| 中文字幕人妻在线少妇完整版| 国产成人精品一区二三区孕妇| 人人妻人人澡人人爽超污| 国产一区二区三精品久久久无广告| 亚洲综合免费| 久久精品国产亚洲精品色婷婷| av在线播放亚洲天堂| 亚洲中文字幕无码天然素人在线| 啪啪无码人妻丰满熟妇| 国产精品女同一区二区久久| 亚洲自偷自拍另类第一页| 国产乱人精品视频av麻豆网站| 欧美精品videosex极品| 国产三级不卡在线观看视频| 欧美v国产v亚洲v日韩九九| 男女性高爱潮免费网站| 无遮挡十八禁在线视频国产制服网站 | 日本在线 | 中文| 日韩精品无码一区二区三区四区| 亚洲大尺度无码无码专区| 精品国产第一国产综合精品| 精品少妇ay一区二区三区|