• 
    

    
    

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

      基于Windows平臺下的網(wǎng)絡監(jiān)聽檢測技術(shù)研究

      2012-11-29 09:51:00
      銅陵學院學報 2012年6期
      關鍵詞:網(wǎng)段監(jiān)聽網(wǎng)卡

      張 昊 楊 靜

      (1.銅陵學院,安徽 銅陵 244000;2.安徽工業(yè)職業(yè)技術(shù)學院,安徽 銅陵 244000)

      1.概述

      網(wǎng)絡監(jiān)聽[1]是涉及網(wǎng)絡安全的一項重大安全隱患。它是利用計算機的網(wǎng)絡接口捕獲數(shù)據(jù)包從而入侵計算機的一種工具,換句話說,監(jiān)聽行為就是網(wǎng)絡上的“竊聽行為”。它一般工作在網(wǎng)絡的底層,能夠記錄網(wǎng)絡中傳輸?shù)娜繑?shù)據(jù)。網(wǎng)絡監(jiān)聽給用戶帶來的主要危害:(1)捕獲口令;(2)捕獲專用或者機密的信息;(3)偷窺機密敏感信息;(4)獲取更高級別的訪問權(quán)限。

      在現(xiàn)代眾多對監(jiān)聽行為進行檢測的技術(shù)中一種是對網(wǎng)卡工作模式進行檢測。因為網(wǎng)卡的工作模式?jīng)Q定了該主機是否被監(jiān)聽,如果是混雜莫是說明主機被監(jiān)聽了。通常使用Ping模式進行檢測:當網(wǎng)絡實行監(jiān)聽的時候,發(fā)出監(jiān)聽的主機網(wǎng)卡必定處于混雜模式,這是可以構(gòu)造一個偽ICMP數(shù)據(jù)包向網(wǎng)絡中的各個主機發(fā)送,網(wǎng)卡為混雜模式就會響應。本文研究的是在Windows平臺下利用安全開發(fā)包Winpcap取代PING模式的方法,這種方法,更加的方便,準確。

      2.Windows平臺下網(wǎng)絡數(shù)據(jù)包捕獲機制

      2.1 Windows操作系統(tǒng)的總體架構(gòu)

      Windows操作系統(tǒng)的總體架構(gòu)分為兩個層次[2][3],即應用層(或稱用戶態(tài))和核心層(內(nèi)核態(tài))。應用層是可以被用戶直接接觸,在這一層中包括了所有的應用程序與動態(tài)鏈接庫(DLL),動態(tài)鏈接庫是應用程序的一部分,隨時被應用程序調(diào)用。傳輸層即TDI,是傳輸驅(qū)動的接口,負責對信息進行檢索、分析、分類、重組等工作,TCP協(xié)議就在這一層處理數(shù)據(jù)包。從物理層到傳輸層都處于核心層,其程序是驅(qū)動程序,表現(xiàn)為.vxd和.sys,內(nèi)核態(tài)的網(wǎng)絡體系結(jié)構(gòu)如圖1:

      圖1 Windows內(nèi)核態(tài)網(wǎng)絡體系結(jié)構(gòu)

      會話層是SPI,屬于應用層,它的鏈接庫(DLL)的形式,主要功能就是鏈接核心層驅(qū)動程序和高層應用程序,而應用層常見的是EXE文件,負責將數(shù)據(jù)傳輸結(jié)果顯示給用戶,并將用戶下達的命令傳送到下層。TCP/IP的應用層OSI結(jié)構(gòu)的高3層,傳輸層的命名相同,TCP/IP的網(wǎng)絡層名稱為網(wǎng)絡-互連層。用戶態(tài)的Windows的網(wǎng)絡體系結(jié)構(gòu)見圖2:

      圖2 Windows用戶態(tài)網(wǎng)絡體系結(jié)構(gòu)

      從這兩個圖形可以發(fā)現(xiàn)網(wǎng)絡驅(qū)動的分層結(jié)構(gòu),在用戶態(tài)(user-mode)和內(nèi)核態(tài)(kernel-mode)這兩個層面就可以進行攔截Windows下的網(wǎng)絡數(shù)據(jù)包工作。

      2.2 數(shù)據(jù)包的捕獲機制

      捕獲技術(shù)可以應用在不同的網(wǎng)絡結(jié)構(gòu)中,只是操作系統(tǒng)的變化而導致捕獲數(shù)據(jù)的機理發(fā)生改變。以太網(wǎng)使用了廣播機制,在捕獲的同時可以看見所有的網(wǎng)絡中的數(shù)據(jù),通常情況為操作系統(tǒng)提供了以下三種捕獲機制[3]:

      (1)SOCK_PACKET

      SOCK_PACKET是Linux中的一種套接字類型,其主要目的是用來訪問網(wǎng)絡數(shù)據(jù)鏈路層,它的實現(xiàn)由操作系統(tǒng)提供的編程接口來進行。

      (2)數(shù)據(jù)鏈路提供者接口(DLPI)

      數(shù)據(jù)鏈路提供者接口(Data Link Provider Interface)是使用者和提供者之間的標準接口,是基于UNIX的數(shù)據(jù)流機制的基礎上實現(xiàn)的。使用此接口者既可以訪問數(shù)據(jù)鏈路服務的高層協(xié)議,也可以是用戶的應用程序。

      (3)伯克利數(shù)據(jù)包過濾器(BPF)[4]

      伯克利數(shù)據(jù)包過濾器(Berkeley Packet Filter)工作在操作系統(tǒng)的內(nèi)核層,主要由網(wǎng)絡轉(zhuǎn)發(fā)和數(shù)據(jù)包過濾兩部分構(gòu)成,轉(zhuǎn)發(fā)與過濾是相互承接的,轉(zhuǎn)發(fā)來的數(shù)據(jù)包直接發(fā)送至過濾部分進行過濾,從而篩選并取舍數(shù)據(jù)包。

      在實際應用中,Windows平臺下實現(xiàn)網(wǎng)絡數(shù)據(jù)包捕獲技術(shù)的代表是Winpcap。它與BPF捕獲機制是一致的。

      3.Winpcap結(jié)構(gòu)模塊

      Winpcap是Windows平臺下實現(xiàn)數(shù)據(jù)包的捕獲而設計的主要有三部分構(gòu)成[5]:

      (1)內(nèi)核層的數(shù)據(jù)包過濾模塊NPF(Netgroup Packet Filter),其作用主要是捕獲數(shù)據(jù)包,同時對捕獲到的數(shù)據(jù)包進行轉(zhuǎn)發(fā)與存儲,最后通過上述過程對該網(wǎng)絡進行統(tǒng)計分析。所以NPF就實現(xiàn)了內(nèi)核層的統(tǒng)計功能。從而數(shù)據(jù)包的捕獲和過濾在內(nèi)核層中達到高效的處理過程。

      (2)動態(tài)鏈接庫packet.dll。它是低層的調(diào)用接口,其主要作用就是為使用者提供捕獲數(shù)據(jù)包的接口,Winpcap的函數(shù)就可以通過packet.dll直接調(diào)用。

      (3)動態(tài)無關庫wpcap.dll。它是高層的開發(fā)編程接口,任何系統(tǒng)都可以實現(xiàn)函數(shù)調(diào)用。Winpcap的組成結(jié)構(gòu)如圖3所示:

      圖3 Winpcap組成結(jié)構(gòu)及NPF工作原理

      圖中的箭頭表示數(shù)據(jù)包的流動方向。從圖形中看出數(shù)據(jù)包是從網(wǎng)絡鏈路層直接取得,統(tǒng)計、存儲、過濾過程在不修改的情況下直接傳遞給用戶層的應用程序,而內(nèi)核層與低級的動態(tài)鏈接數(shù)據(jù)隔離開,這樣應用程序擺脫束縛不同的Windows系統(tǒng)下自由運行。同時,可以看出,Packet.dll是較低級的編程接口位于Wpcap.dll的下層,使用它可以直接和內(nèi)核進行數(shù)據(jù)交換,但是使用起來比較煩瑣,并不方便。而Winpcap是一個上層接口,使用低級動態(tài)鏈接庫提供的服務,向應用程序提供系統(tǒng)的接口來進行包捕獲和網(wǎng)絡分析。這些接口能用來:獲得各種網(wǎng)絡適配器、取得適配器的各種信息、通過網(wǎng)絡接口卡進行嗅探、向網(wǎng)絡發(fā)送數(shù)據(jù)包、把捕獲的數(shù)據(jù)包存儲到磁盤上、利用高層語言創(chuàng)建包過濾器。它同時可以和多種安全開發(fā)包兼容,使用起來非常方便。Winpcap工作流程如圖4所示。

      4.網(wǎng)絡監(jiān)聽的工作原理

      通常情況下數(shù)據(jù)通過交換機在網(wǎng)段內(nèi)正常傳輸時,交換機都會對網(wǎng)段內(nèi)各個主機的端口進行源和目的MAC地址檢測,檢測結(jié)果會比照內(nèi)部動態(tài)的MAC端口映射表,查找是否有源MAC地址存在于映射表中,若有,數(shù)據(jù)直接傳送。反之,新的MAC地址以及端口加入映射列表中,同時把數(shù)據(jù)幀依照MAC地址從端口發(fā)送出去。

      圖4 Winpcap捕獲函數(shù)庫的工作流程

      一般情況下,IP數(shù)據(jù)包封裝成MAC幀后才能在實際的物理鏈路上傳送。正常情況下主機接受MAC幀的條件是鏈路中傳輸MAC幀的目的MAC地址與主機自身的MAC地址相同,然后將其拆封為IP數(shù)據(jù)包并交給上層模塊處理。因此,接收方的MAC地址在發(fā)送數(shù)據(jù)包時就顯得很重要了。ARP(地址解析協(xié)議)[6]便是用來進行IP與MAC之間的轉(zhuǎn)化。而ARP高速緩存(ARPCache)存在于每臺主機內(nèi),其作用是反映同網(wǎng)段內(nèi)各主機的IP地址到MAC地址的映射關系,它通常是不斷變化,自動刷新的。而ARP協(xié)議能夠運行的基礎就是主機之間的相互信任?;谝陨咸攸cARP協(xié)議存在以下缺點:ARP高速緩存在見到首個ARP協(xié)議包才可以判斷是否需要動態(tài)更新;由于ARP協(xié)議客觀存在不需要網(wǎng)絡連接,所以網(wǎng)段內(nèi)主機在有無ARP請求的情況下都會做出應答;對于接收的協(xié)議包只要是有效的網(wǎng)段內(nèi)主機就會根據(jù)協(xié)議吧包內(nèi)容自動刷新緩存,而不檢查該協(xié)議包的合法性從這點就充分說明ARP協(xié)議沒有認證機制。因此黑客會根據(jù)其缺陷進行地址欺騙。

      ARP欺騙[6]就是使用偽造的MAC地址和IP地址偽裝成ARP高速緩存中的另外一臺主機的技術(shù)從而達到欺騙其他主機正常通信的目的。ARP欺騙的實現(xiàn)如圖5和表1所示。

      表1 同網(wǎng)段主機IP和MAC地址對照表

      圖5 監(jiān)聽前后各主機之間的通信變化

      從圖5和表1對比可以發(fā)現(xiàn)在監(jiān)聽前和被監(jiān)聽后主機a和主機b之間通信的變化。主機c在沒有實施欺騙前主機a和b都是得到對方正確的IP地址和MAC地址而進行正常的數(shù)據(jù)傳輸。而在主機c分別向另外兩個主機發(fā)送了ARP欺騙包騙取對方的MAC地址從而修改自己的MAC地址變成主機a和b的MAC地址后。主機a在分辨不清正確的MAC地址后,錯誤的將信息發(fā)送給主機c,因為這時主機c的MAC地址和主機2的MAC地址相同。同理主機b也是將數(shù)據(jù)傳錯誤的送給了主機c,而表面上網(wǎng)絡間的數(shù)據(jù)通訊顯示正常,其實這是主機c已經(jīng)對其他兩個主機完成了一次網(wǎng)絡監(jiān)視聽過程。

      5.監(jiān)聽檢測的系統(tǒng)設計

      根據(jù)ARP的欺騙原理,完成以下監(jiān)聽檢測設計工作,首先工作主機的所有地址信息必須取得;然后獲取網(wǎng)段內(nèi)所有主機地址活動列表與相互映射關系;接著在Windows平臺下使用Winpcap捕獲數(shù)據(jù)包并同時發(fā)送ARP欺騙包對這些主機的網(wǎng)卡的工作模式進行探測。從而判定被檢測主機是否被監(jiān)聽,網(wǎng)卡模式為混雜的主機就是被監(jiān)聽主機。根據(jù)以上條件系統(tǒng)設計可以進行如下劃分:

      (1)檢測主機地址信息獲取模塊:主要包括捕獲檢測機IP地址、子網(wǎng)掩碼和MAC地址;

      (2)網(wǎng)段內(nèi)檢測主機信息獲取模塊:以已獲取的主機地址信息為基礎,向網(wǎng)段內(nèi)所有檢測主機發(fā)送ARP欺騙包,最終獲取所有活動的地址信息列表,從而完成一一對照關系;

      (3)檢測監(jiān)聽模塊:在已獲得網(wǎng)段內(nèi)個主機的活動列表基礎上再次發(fā)送ARP欺騙包,借此探測各個主機的網(wǎng)卡工作模式;

      (4)生成報告模塊:獲得測試結(jié)果,生成報告文件。

      根據(jù)這些模塊的工作流程,系統(tǒng)設計如圖6所示:

      圖6 系統(tǒng)的工作流程

      具體模塊設計如下:

      (1)檢測主機地址信息獲取模塊設計

      在Windows平臺下使用Winpcap對網(wǎng)絡底層數(shù)據(jù)包進行捕獲,使用Pcap_next_ex和Pcap_sendpacket函數(shù)發(fā)送ARP欺騙包,從而獲取本機IP地址和子網(wǎng)掩碼的同時接受數(shù)據(jù)包見解獲取本機MAC地址。最終目的是獲取監(jiān)聽檢測母機的所有地址信息。

      (2)網(wǎng)段內(nèi)檢測主機信息獲取模塊的設計

      通過發(fā)送和處理ARP欺騙包獲取活動主機列表。同時計算本網(wǎng)段IP地址的范圍,依次發(fā)送ARP欺騙包。達到騙取MAC和IP地址的目的,最終生成活動主機地址列表。

      (3)檢測監(jiān)聽模塊的設計

      關鍵在于此模塊的設計,該模塊首先調(diào)用了Winpcap中的Pcap_Sendpaeke函數(shù)發(fā)送ARP欺騙包,再使用pcap_next_ex函數(shù)接收數(shù)據(jù)包,經(jīng)過這兩個過程檢測者觀察對應的主機對發(fā)送數(shù)據(jù)包的回應,若全部數(shù)據(jù)包都得到相應回應,則判定其網(wǎng)卡模式為混雜模式,標志為1。反之,其網(wǎng)卡模式為正模式,標志為0。

      (4)報告模塊的設計

      經(jīng)過所有網(wǎng)段內(nèi)主機鏈表的檢測,最終輸出網(wǎng)段內(nèi)各個主機的IP和MAC地址判定網(wǎng)卡工作模式,借此判定網(wǎng)段內(nèi)主機是否被監(jiān)聽,輸出檢測結(jié)構(gòu)結(jié)果,生成TXT文件,得出檢測報告。

      在設計系統(tǒng)時,先是通過網(wǎng)絡安全開發(fā)包掃描網(wǎng)絡端口,再次發(fā)送ARP欺騙包進行監(jiān)聽檢測是關鍵,監(jiān)聽檢測系統(tǒng)的實現(xiàn)過程如圖7所示。

      圖7 系統(tǒng)的實現(xiàn)過程

      最終經(jīng)過一組實驗得到如下結(jié)果:

      圖8 測試報告

      圖中導出的測試報告可以清楚的發(fā)現(xiàn),這次檢測在此網(wǎng)段檢查了10臺計算機,其中網(wǎng)卡處于正常模式的有8臺,而網(wǎng)卡處于混雜模式的有2臺,從而可以肯定這三臺網(wǎng)卡處于混雜模式的計算機已經(jīng)被網(wǎng)絡監(jiān)聽了。

      6.結(jié)束語

      自從計算機網(wǎng)絡使用以來,伴隨著不同的網(wǎng)絡安全隱患就從來沒有間斷過。網(wǎng)絡監(jiān)聽實質(zhì)上就是一種威脅網(wǎng)絡正常運行的安全隱患,本文研究網(wǎng)絡監(jiān)聽檢測技術(shù)的結(jié)論如下:

      (1)網(wǎng)絡監(jiān)聽技術(shù)是一柄雙刃劍,在方便網(wǎng)絡管理人員查找網(wǎng)絡漏洞、檢測網(wǎng)絡性能、分析網(wǎng)絡流量的同時也會為黑客的入侵提供便利,所以進行網(wǎng)絡監(jiān)聽檢測十分必要。

      (2)在進行網(wǎng)絡檢測監(jiān)聽中,網(wǎng)絡安全開發(fā)包winpcap中對其函數(shù)組成、數(shù)據(jù)結(jié)構(gòu)、應用方法的了解是十分重要的。

      (3)網(wǎng)絡監(jiān)聽檢測的作用,可在同一個網(wǎng)段中工作機之間進行正常信息交換,對各工作機的網(wǎng)卡工作模式進行檢測,借此判斷出被監(jiān)聽的計算機。

      (4)在VC環(huán)境下進行檢測程序的設計,在編寫程序過程中,采用多線程編寫程序。借助網(wǎng)絡安全開發(fā)包Winpcap對檢測機器掃描,同時發(fā)送ARP欺騙包,最終在網(wǎng)段中檢測出計算機是否被監(jiān)聽。

      [1]秦學.被動監(jiān)聽檢測技術(shù)的研究與實現(xiàn)[D].貴陽:貴州大學碩士論文,2007.

      [2]杜光輝.入侵檢測系統(tǒng)中數(shù)據(jù)預處理技術(shù)的研究[D].鄭州:鄭州大學碩士論文,2008.

      [3]劉大偉.分布式資源安全監(jiān)控系統(tǒng)的研究[D].南京:南京航空航天大學碩士論文,2009.

      [4]趙寒松,吳承榮,王國平.旁路監(jiān)聽下VoIP行為分析與內(nèi)容還原[J].計算機工程,2012,(6):145-147.

      [5]Hansen per brinich.Maurice J.bach.Beijing.100083.China.The database design method theories[J].Journal of university of science and technology beijing,2004,11(5):403-405.

      [6]秦志紅.如何在Windows環(huán)境下實現(xiàn)網(wǎng)絡監(jiān)聽[J].網(wǎng)絡安全技術(shù)與應用,2007,9(2):26-29.

      猜你喜歡
      網(wǎng)段監(jiān)聽網(wǎng)卡
      在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
      千元監(jiān)聽風格Hi-Fi箱新選擇 Summer audio A-401
      單位遭遇蠕蟲類病毒攻擊
      Server 2016網(wǎng)卡組合模式
      網(wǎng)絡監(jiān)聽的防范措施
      電子制作(2017年20期)2017-04-26 06:58:02
      應召反潛時無人機監(jiān)聽航路的規(guī)劃
      挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
      Onvif雙網(wǎng)段開發(fā)在視頻監(jiān)控系統(tǒng)中的應用
      局域網(wǎng)監(jiān)聽軟件的設計
      河南科技(2014年5期)2014-02-27 14:08:21
      三層交換技術(shù)在大型醫(yī)療設備互聯(lián)時的應用
      田林县| 宜城市| 绵竹市| 华宁县| 龙南县| 遵义县| 水富县| 阿合奇县| 凤庆县| 慈利县| 张家口市| 贵南县| 嫩江县| 连州市| 合阳县| 吴堡县| 张北县| 奉新县| 莒南县| 长春市| 如东县| 荣成市| 兴城市| 无极县| 和田市| 兴海县| 长顺县| 石阡县| 伊川县| 茶陵县| 咸丰县| 平昌县| 万州区| 缙云县| 金门县| 台州市| 宁城县| 准格尔旗| 盐津县| 常山县| 耒阳市|