• 
    

    
    

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

      ?

      基于Libnet的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)單元發(fā)生器的設(shè)計與實現(xiàn)

      2014-09-11 18:23:36邢寶玉呂雪鳴孫朝宇
      中國新通信 2014年11期
      關(guān)鍵詞:函數(shù)庫句柄網(wǎng)絡(luò)接口

      邢寶玉 呂雪鳴 孫朝宇

      【摘要】Linux操作系統(tǒng)使用libnet函數(shù)庫和Qt函數(shù)庫設(shè)計的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)單元發(fā)生器。本項目的意義在于該系統(tǒng)提供了提供協(xié)議驗證、協(xié)議分析等功能;為進一步學(xué)習(xí)和理解TCP/IP協(xié)議族、模擬攻擊、威脅發(fā)現(xiàn)以及網(wǎng)絡(luò)故障定位等內(nèi)容提供實踐平臺。對非網(wǎng)絡(luò)專業(yè)的學(xué)生驗證協(xié)議、對網(wǎng)絡(luò)工程專業(yè)學(xué)生深入理解協(xié)議、鍛煉協(xié)議分析能力起到重要作用。

      【關(guān)鍵詞】libnet網(wǎng)絡(luò)協(xié)議PDU構(gòu)造

      一、引言

      Libnet是一個專業(yè)網(wǎng)絡(luò)安全構(gòu)造和發(fā)送數(shù)據(jù)包的一個高層次的API函數(shù)庫,允許開發(fā)者構(gòu)造和發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包。Libnet提供了一個對底層網(wǎng)絡(luò)數(shù)據(jù)包進行構(gòu)造,修改和發(fā)送的高級接口。它隱藏了很多底層細節(jié),省去了很多麻煩,如多路技術(shù),緩沖區(qū)管理,網(wǎng)絡(luò)數(shù)據(jù)包頭信息,字節(jié)流順序,操作系統(tǒng)兼容性,以及校驗和計算問題等等。

      二、設(shè)計思想

      首先創(chuàng)建一個Libnet句柄,并將句柄初始化,為數(shù)據(jù)包分配存儲空間,確定Libnet的類型。確定網(wǎng)絡(luò)接口,可以自己指定也可以Libnet自動查詢搜索(將libnet_init()的參數(shù)device賦值NULL即可)。將校驗和的參數(shù)設(shè)置為0,libnet就會自動計算校驗和。獲取libnet初始化后的句柄,構(gòu)造數(shù)據(jù)包,這里使用Qt Creator中的QLineEdit和QComboBox為libnet句柄所代表的數(shù)據(jù)包賦值,使用QPushButton執(zhí)行開始發(fā)送和結(jié)束,通過Libnet定義的句柄返回值來判斷我們所構(gòu)造的數(shù)據(jù)包是否合法,如果合法就調(diào)用libnet_write()函數(shù)發(fā)送數(shù)據(jù)包。

      三、程序流程

      3.1構(gòu)造協(xié)議模塊流程

      首先通過初始化函數(shù)libnet_init(),對內(nèi)存、網(wǎng)絡(luò)進行初始化,再通過不同的libnet_build()函數(shù)構(gòu)造各種協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)包,其中包括libnet_build_arp(),libnet_build_ip()等等。將網(wǎng)絡(luò)數(shù)據(jù)包構(gòu)造好后,通過libnet_write()函數(shù)將構(gòu)造好的網(wǎng)絡(luò)數(shù)據(jù)包進行發(fā)送,最后通過libnet_destroy()函數(shù)關(guān)閉網(wǎng)絡(luò)接口,釋放內(nèi)部內(nèi)存空間,構(gòu)造結(jié)束。

      3.2主函數(shù)流程

      創(chuàng)建一個QThread 類的子類myThread,重載QThread 的run()函數(shù),run()函數(shù)中發(fā)射構(gòu)造相應(yīng)數(shù)據(jù)包的信號。實例化一個線程對象并調(diào)用QThread::start()函數(shù),開始發(fā)送數(shù)據(jù)包,重載的run()函數(shù)將會在新建的獨立的線程中執(zhí)行。

      選擇想要構(gòu)造的數(shù)據(jù)包,即跳轉(zhuǎn)到各自協(xié)議的數(shù)據(jù)包構(gòu)造函數(shù),檢查構(gòu)造的數(shù)據(jù)包是否合法,如果合法就調(diào)用libnet_write()函數(shù)發(fā)送數(shù)據(jù)包,否則,查看linux終端輸出的錯誤信息,然后重新填寫數(shù)據(jù)包,繼續(xù)執(zhí)行。

      程序界面如圖1所示:

      四、結(jié)束語

      在實驗室局域網(wǎng)環(huán)境中進行測試并且結(jié)果表明系統(tǒng)能夠構(gòu)造不同協(xié)議數(shù)據(jù)包,可以通過Wireshark和Tcpdump網(wǎng)絡(luò)數(shù)據(jù)包捕獲工具捕獲成功。

      參考文獻

      [1]劉文濤. 網(wǎng)絡(luò)安全開發(fā)包詳解[M]. 北京:電子工業(yè)出版社,2005.10

      [2]黃俊杰,王建新,張靜. 基于Linux的網(wǎng)絡(luò)協(xié)議學(xué)習(xí)系統(tǒng)[J]. 中南大學(xué)碩士學(xué)位論文,2009.11

      [3]布蘭切特(Jasmin Blanchette)(作者),薩默菲爾德(Mark Summerfield)(作者),閆鋒欣(譯者),等. C++ GUI Qt 4編程[M]. 第2版. 電子工業(yè)出版社,2013.5

      猜你喜歡
      函數(shù)庫句柄網(wǎng)絡(luò)接口
      變電站網(wǎng)絡(luò)接口物理防護系統(tǒng)設(shè)計與實現(xiàn)
      用于優(yōu)化雷達信號處理的VSIPL函數(shù)庫
      基于Python的開源GIS應(yīng)用開發(fā)
      Scratch求最值和平均值
      電腦報(2020年34期)2020-09-12 14:03:42
      基于BB60C的IQ數(shù)據(jù)采集與存儲系統(tǒng)設(shè)計
      高校圖書館持久標(biāo)識符應(yīng)用研究
      編譯程序語法分析句柄問題分析與探討
      淺析CTC與GSM-R系統(tǒng)網(wǎng)絡(luò)接口及路由配置改進措施
      網(wǎng)絡(luò)設(shè)置管理
      MFC應(yīng)用程序多線程混合顯示界面方法研究
      西和县| 铅山县| 涪陵区| 通辽市| 翼城县| 蕉岭县| 东山县| 武平县| 安阳市| 阳朔县| 章丘市| 邢台市| 桑植县| 新野县| 白河县| 洪雅县| 平阴县| 乌什县| 富蕴县| 同仁县| 石泉县| 民和| 乐山市| 德阳市| 莱芜市| 汝州市| 祁门县| 仪陇县| 松滋市| 太和县| 克拉玛依市| 昌吉市| 砀山县| 霍林郭勒市| 静安区| 临潭县| 丹凤县| 韶关市| 富阳市| 汉阴县| 德钦县|