


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于ARP欺騙的網絡監聽原理及實現
隨著計算機網絡技術的高速發展,網絡正日益成為政治、經濟、文化、生活中不可缺少的一部分.在它給人們的生活、學習、工作帶來前所未有的方便和機遇的同時,由于網絡自身固有的不安全性,網絡安全問題也越來越引起人們的關注.所謂網絡監聽,即將網絡上傳輸的數據捕獲并進行分析的行為.網絡監聽在協助網絡管理員監測網絡傳輸數據,排除網絡故障等方面具有十分重要的作用.然而,網絡監聽也給網絡的安全帶來了極大的隱患,許多的網絡入侵往往都伴隨著以太網內網絡監聽行為,從而造成口令失竊,敏感數據被截獲等連鎖性安全代寫論文2網絡監聽的原理運行網絡監聽程序的主機要實現網絡監聽必須滿足兩個條件:其一,是該主機的網卡必須工作在混雜模式下;其二,是傳輸的數據包能夠到達該主機.根據連接的網絡設備不同,以太網分為共享式以太網和交換式以太網.2.1共享式以太網在共享式以太網中,由于是基于廣播的方式來發送數據的,所以數包會被發送到連在一起的所有的主機(圖1所示).因此,只要運行了網絡監聽程序的主機的網卡處在混雜模式下就可以實施網絡監聽了.所以,在共享式以太網中實施網絡監聽還是很容易的.2.2交換式以太網在交換式以太網中使用交換機,交換機工作在數據鏈路層,工作時維護著一張MAC地址與交換機端口的映射表.當有數據報發送到交換機上時,交換機會將數據報的目的MAC地址與自己維護的表內的端口對照,然后將數據報發送到相應端口上.所以,即使監聽主機的網卡設置成混雜模式,也不能接收到傳給其他主機的數據幀.因此,在交換式網絡中實施網絡監聽的關鍵,就是要使發送給其他主機的數據幀能夠到達運行了網絡監聽程序的主機.在交換式以太網中最常見的方式是利用ARP欺騙的中間人攻擊的方式實施網絡監聽.2.2.1ARP欺騙原理局域網內部的主機根據MAC地址進行通訊.ARP(地址解析)協議是將32位IP到以太網的48位物理地址(MAC地址),以便將報文封裝成幀發送.如果源主機的ARP表沒有目的IP和目的MAC的映射,則通過廣播的方式發送ARP請求.只有具有此目的IP的主機才會對這個廣ARP請求作出反應,向源主機發送一個包含其MAC地址的ARP應答報文.ARP協議是一個無狀態的協議.一旦收到ARP應答就會對其高速緩存中存放的IP地址到物理地址映射記錄進行更新,而不會關心之前是否發出過ARP請求.ARP欺騙的核心就是向目標主機發送一個含偽造的IP-MAC映射信息的ARP應答報文.當目的主機收到此應答報文后就會更新其ARP高速緩存,從而使目標主機將報文發送給錯誤的對象.2.2.2利用中間人攻擊進行監聽的原理利用ARP欺騙進行監聽其實就是要實現中間人攻擊,它是利用ARP欺騙進行攻擊的主要方式之一.其原理是使進行監聽的主機插入到被監聽主機與其它網絡主機之間,使進行監聽的主機成為被監聽主機與其它網絡主機通信的中繼.在這種情況下,其他網絡主機發往被監聽主機的信息和被監聽主機發往其他網絡主機的信息都必須經過進行網絡監聽的主機.這樣,進行網絡監聽的主機就很容易對被監聽主機進行網絡監聽了.如圖2所示,C為進行網絡監聽的主機,A為被監聽主機,B為網絡中的任一其他(1)C向A發送ARP應答報文,A修改ARP高速緩沖,使B的IP地址與C的MAC地址相對應,即形成IP~MAC03:03:03:03的映射;2)同理,C向B發送ARP應答報文,使A的IP地址與C的MAC地址相對應,即IP~MAC03:03:03:03;(3)這時,如果A向B發送信息,根據A高速緩沖中的IP-MAC映射,信息實際上是被發送到了C,再由C轉發到B;同理,從B發送到A的信息也將會被C轉發一次.此時,A與B之間的通信已經被C完全監控.如果運行了網絡監聽程序的主機C的網卡又工作在混雜模式下,那么,主機C就滿足了前面所提到的實現網絡監聽的兩個條件,可以對A與B間的通信進行監聽了.3利用ARP欺騙的網絡監聽實現的程序設計3.1程序總體設計程序的總體設計思想就是:首先要實現中間人攻擊,使實施監聽主機成為被監聽主機之間的中繼,然后分析接收到的數據包,根據自行約定的標志確定監聽的開始,再根據用戶的需要對監聽到的數據包作出相應的操作.因此,該程序需要實現的主要功能有兩個:(1)根據中間人攻擊原理實現ARP欺騙;(2)處理接收到的數據包,根據用戶的輸入,完成相應的功能.分別建立函數ArpCheatApplication和使用帶參數的main函數作為主函數.主函數的功能主要是初始化網卡以及一些全局變量,并使用函數CreateThread來建立新線程,實現對ArpCheatApplication等子函數的調用,完成相應的功能.main的算法如下:intmain(intargc,char**argv)//帶參數的main函數{聲明部分,定義變量;if(argc!=3)return0;//參數輸入錯誤,返回0//取得參數ServerSideIP<--inet_addr(argv[1]);//第二個命令行參數代表Server端的IPClientSideIP<--inet_addr(argv[2]);//第三個命令行參數代表Client端的IP使用InitAdapter函數初始化網卡;使用自定義函數GetMACAddr函數取得Server端和Client端的MAC地址;//使用CreateThread函數生成實現ARP欺騙的新線程i=1;CreateThread(NULL,0,ArpCheatApplication,&i,0,0);//實現對Server端的ARP欺騙i=2;CreateThread(NULL,0,ArpCheatApplication,&i,0,0);//實現對Client端的ARP欺騙//使用CreateThread函數生成處理接收到的數據包的新線程CreateThread(0,0,AnalysePacketsApplication,NULL,0,0);//使用CreateThread函數生成處理用戶輸入的新線程CreateThread(0,0,CustomerApplication,NULL,0,0);//其他所需的操作使用PacketFreePacket和PacketCloseAdapter函數釋放資源;return0;}上面算法中使用到的GetMACAddr函數是一個自定義的用來根據目標IP獲得相應MAC地址的函,其代碼如下:BOOLGetMACAddr(DWORDDestIP,char*pMAC){DWORDdwRet;ULONGulLen=6,pulMac[2];dwRet=SendARP(DestIP,0,pulMac,&ulLen);//調用SDK函數來獲取目標IP的MAC地址if(dwRet==NO_ERROR)//判斷是否找到了目標IP相應的MAC{memcpy(pMAC,pulMac,6);returnTRUE;}elsereturnFALSE;//如果沒有找到目標IP相應的MAC,則返回FALSE}.2主要函數分析3.2.1DWORDWINAPIArpCheatApplicatio(LPVOIDlpType)此函數的功能是實施ARP欺騙.由前面對圖2中間人攻擊的分析可知,函數ArpCheatApplication要實現的功能有兩個(如圖2,假定A為ServerSide,B為ClientSide):①C告訴ServerSide,ClientSide的MAC是ownmac;②C告訴ClientSide,ServerSide的MAC是ownmac.函數ArpCheatApplication的流程圖如圖3所示.716四川大學學報(自然科學版)
第42卷圖3ArpCheatApplication流程圖Fig.3ArpCheatApplicationflowchart3.2.2DWORDWINAPIAnalysePacketsApplication(LPVOIDlp)此函數的功能是處理收到的數據包,通過篩選只分析不屬于自己的TCP包,然后根據用戶的輸入,完成各種功能.其流程如圖4所示.圖4AnalysePacketsApplication流程圖Fig.4AnalysePacketsApplicationflowchart對圖4有:(1)對接收到的數據包需要進行以下篩選,其中continue代表跳出當前的數據包篩選,重新讀入新數據包進行篩選.//不處理監聽主機本身發送和轉發的數據包if(memcmp(TCPPacket->ehhdr.SourceMAC,OwnMAC,6)==0)continue;//不處理目的IP為監聽主機本身的數據包for(i=0;i<TotalIP;i++)//TotalIP為監聽主機所擁有的所有IP數目if(TCPPacket->iphdr.destIP==OwnIP[i])break;//判斷目的IP是否為監聽主機的某一IP717第4期向昕等:基于ARP欺騙的網絡監聽原理及實現if(i!=TotalIP)continue;//檢查是否IP包,以太網首部中IP包的類型代碼為十六進制的0800if(TCPPacket->ehhdr.EthernetType!=htons(0x0800))continue;//檢查是否TCP包if(TCPPacket->to!=IPPROTO_TCP)continue;(2)設置開始劫持的標志有多種選擇,在這里假設捕獲到一個從ClientSide->ServerSide的純ack后才開始劫持,即檢查TCP首部中的6個標志位是否為010000,函數IsACKPacket就是用來判斷一個據包是不是只有ACK標志的,代碼如下:BOOLIsACKPacket(unsignedcharflag)//flag代表TCP首部的標志位{inti,j=1;for(i=0;i<4;i++){if(flag&j)returnFALSE;//判斷標志位低4位是否為1,有為1的,則返回false
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國水產飼料行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030年中國氣動折彎機行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030年中國椰油酰胺二乙醇酰胺行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030年中國森林收割機行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030年中國梅子籽油產品行業市場深度調研及發展趨勢與投資前景預測研究報告
- 發現2025年語文試題及答案的奧秘
- 2025-2030年中國有機新鮮全白蘑菇行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030年中國暖風加熱器行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030年中國智能卡市場深度調研及發展策略研究報告
- 2025-2030年中國智慧港口行業市場深度調研及競爭格局與發展趨勢研究報告
- 2025年湖北荊州市監利市暢惠交通投資有限公司招聘筆試參考題庫含答案解析
- 酒店入股合同協議書
- 2025-2030中國無煙原煤行業市場現狀供需分析及市場深度研究發展前景及規劃可行性分析研究報告
- GB/T 32960.3-2025電動汽車遠程服務與管理系統技術規范第3部分:通信協議及數據格式
- 全套教學課件《工程倫理學》
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- 英漢語法對比研究
- 江蘇醫院目錄--衛生廳數據
- 廣州花城匯UUPARK招商手冊
- 回旋鏢飛行原理
- Proud-of-you中英文歌詞
評論
0/150
提交評論