新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于ARP欺騙的網絡監聽技術研究

        基于ARP欺騙的網絡監聽技術研究

        作者: 時間:2010-01-11 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/188409.htm

        由以上的分析可知,數據包用C語言表示如下:

        typedef struct __RHDR

        {

        UCHAR HardwareType[2];//數據類型,以太網為OX0001

        UCHAR ProtocolType[2];//協議類型

        UCHAR LengthOfHardware;//硬件地址長度

        UCHAR LengthOfProtocol;//協議地址長度

        UCHAR OpCode[2];//操作類型

        UCHAR SrcMAC[6];// 發送端以太網地址

        UCHAR SrcIP[4];// 發送端IP地址

        UCHAR DesMAC[6];// 接收端以太網地址

        UCHAR DesIP[4];// 接收端IP地址

        }

        _RHDR,*PARP_RHDR;

        2.2利用ARP欺騙在交換網絡下捕包

        由以上對 ARP 協議的分析和對其原理的介紹可知,利用 ARP 欺騙已經可以使子網內的別的機器的網絡流量都會流到攻擊者機器來,為了使他們還能夠正常地使用網絡,攻擊者就必須將他們的數據包轉發到他們真正應該到達的主機去,這就需要進行數據轉發,因此,要實現交換式以太網正常的網絡監控,就要使用ARP欺騙結合IP轉發的發式來進行捕包,可以使用兩個線程:一個進行數據包的獲取、分析和轉發,一個定時發送ARP應答包。

        在網絡監控系統中,實現對 HTTP 訪問則是基于目標地址的過濾,通過對 IP 首部的各個數據域的分析判斷 Destination IP Address 是否屬于規則庫中設定限制訪問集合,如果是,系統可以采用一定的手段阻止用戶的繼續訪問,采用的方法是切斷或關閉TCP連接。我們可以人為的構造一個FIN報文發送給用戶,從而關閉用戶與Web服務器間的TCP連接,禁止用戶對該URL地址的訪問。Winpcap庫的核心函數pcap_sendpacket提供了繞過操作系統正常網絡 Socket編程而直接讀寫網卡的能力,在完成該TCP連接的重要信息分析后,即可完成對其的強制中斷。在構造中斷TCP報文時,需要將源、目的IP進行交換,源、目的端口交換,然后將標志位置為RST,然后使用 pcap_sendpacket 直接將報文發送即可實現目的。核心實現函數:

        Void SendData(PIP_RHDR IpData)

        {

        PTCP_RHDR ptcpheader=(PTCP_RHDR)IpData->Data;

        int iRstFlag = ptcpheader->Flags 0x04;

        if(iRstFlag = 0x04)

        return;

        ……

        SetMACToEther(MACADDR_SRC,EtherFrame,0);//源為發到本機的 mac

        SetMACToEther(MACCADDR_GATEWAY,EtherFrame,1);//目標為默認網關的 mac

        ……

        }

        3  軟件的實現和結論

        基于ARP欺騙的軟件采用了虛擬路由技術,以實現報文的收發。軟件經過測試,基本上達到了預期的目的。這樣的系統,可以用來對現在正在使用的,用于各種功能的交換式以太網(如校園網、企業網等)進行監聽,從而解決在網絡管理上的諸多不便,進而實現網絡管理的最終目標――資源的合理、充分利用和提供可靠的通信服務。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 庄浪县| 巴青县| 鄂尔多斯市| 柳河县| 成都市| 广宗县| 临清市| 聂拉木县| 乌苏市| 胶南市| 抚宁县| 荣昌县| 阳新县| 钟山县| 福泉市| 苏尼特左旗| 长治市| 澄城县| 边坝县| 揭东县| 抚州市| 乐平市| 郸城县| 雷州市| 黑山县| 平遥县| 敦煌市| 沂水县| 石林| 邵阳市| 涟水县| 鹤庆县| 扬中市| 阆中市| 房山区| 永嘉县| 泗水县| 张家界市| 小金县| 陇川县| 丘北县|