版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
.z.建筑大學計算機科學與技術學院課程設計說明書題目:ARP協(xié)議獲取局域網(wǎng)部活動主機物理地址的程序實現(xiàn)課程:計算機網(wǎng)絡院(部):計算機科學與技術專業(yè):網(wǎng)絡工程班級:網(wǎng)絡***學生:***學號: *****111285指導教師:楠完成日期:2014-7-9-.z.目錄課程設計任務書I使用ARP協(xié)議獲取局域網(wǎng)部活動主機物理地址的程序實現(xiàn)1一、問題描述1二、基本要求1三、設計思想1四、系統(tǒng)結構1五、程序流程2六、源程序2七、測試數(shù)據(jù)5八、測試情況5結論6-.z.-.z.建筑大學計算機科學與技術學院課程設計任務書設計題目使用ARP協(xié)議獲取局域網(wǎng)部活動主機物理地址的程序實現(xiàn)(Java)已知技術參數(shù)和設計要求1.已知參數(shù):選擇適當?shù)木W(wǎng)絡適配器,以綁定Winpcap。2.設計要求:2.1協(xié)議實現(xiàn)需要哪些數(shù)據(jù)幀?注意要數(shù)據(jù)幀的定義要符合公共標準。2.2如何實現(xiàn)數(shù)據(jù)幀的發(fā)送?2.3如何接收及解析目的主機的響應數(shù)據(jù)幀?2.4如何顯示ARP協(xié)議的執(zhí)行結果?3.JAVA環(huán)境為Eclipse設計容與步驟1.熟悉ARP協(xié)議的工作原理;2.熟悉ARP協(xié)議相關數(shù)據(jù)幀結構;3.構造ARP請求數(shù)據(jù)幀;4.使用Winpcap相關函數(shù)實現(xiàn)數(shù)據(jù)幀的發(fā)送;5.接收及解析目的主機的響應數(shù)據(jù)幀;6.獲得IP地址與MAC地址的對應關系并顯示;7.課程設計任務說明書。設計工作計劃與進度安排1.知識準備,整體思路設計2小時2.開發(fā)環(huán)境與程序調試環(huán)境4小時3.構造協(xié)議需要的相關數(shù)據(jù)幀,使用標準數(shù)據(jù)幀結構2小時4.數(shù)據(jù)幀的發(fā)送10小時5.接收、解析目的主機的相應數(shù)據(jù)幀,并顯示結果12小時6.課程設計說明書10小時10小時設計考核要求1.出勤20%2.答辯或演示30%3.課程設計說明書50%-.z.使用ARP協(xié)議獲取局域網(wǎng)部活動主機物理地址的程序實現(xiàn)一、問題描述構造多個Arp的數(shù)據(jù)幀。輸入:局域網(wǎng)中的IP地址;輸出:從控制臺屏幕輸出局域網(wǎng)部活動主機物理地址。二、基本要求1.協(xié)議實現(xiàn)需要哪些數(shù)據(jù)幀?注意要數(shù)據(jù)幀的定義要符合公共標準。2.如何實現(xiàn)數(shù)據(jù)幀的發(fā)送3.如何接收及解析目的主機的響應數(shù)據(jù)幀4.如何顯示ARP協(xié)議的執(zhí)行結果三、設計思想首先構造ARP的數(shù)據(jù)包,然后通過java對網(wǎng)卡數(shù)據(jù)捕獲需要用到jpcap,jpcap調用wincap實現(xiàn)數(shù)據(jù)包的發(fā)送,并監(jiān)聽返回的數(shù)據(jù)包,顯示出來。四、系統(tǒng)結構程序可以分為兩部分:1:程序構造具體的ARP數(shù)據(jù)包,發(fā)送。2:監(jiān)聽返回的數(shù)據(jù)包,并顯示結果。程序流程開始開始輸入目的IP構造ARP數(shù)據(jù)包監(jiān)聽返回的數(shù)據(jù)包解析數(shù)據(jù)包,顯示結果是否有數(shù)據(jù)包返回是否程序一開始會要求用戶輸入本機所在局域網(wǎng)的IP字段,再通過循環(huán)對每個目的IP發(fā)送請求包(根據(jù)構造目的IP構造的ARP請求包)。當發(fā)送完ARP的請求包,系統(tǒng)就會在監(jiān)聽狀態(tài),等待是否返回響應包。如果有返回包,說明此IP在局域網(wǎng)中并且處于活動狀態(tài),解析顯示結果。如果沒有返回包,說明此IP沒有在局域網(wǎng)或者處于關機狀態(tài)六、源程序importjpcap.JpcapCaptor;importjpcap.JpcapSender;importjava.util.Arrays;import.InetAddress;import.Inet4Address;importjpcap.packet.ARPPacket;importjpcap.packet.EthernetPacket;importjpcap.NetworkInterface;importjpcap.NetworkInterfaceAddress;publicclassDemo2{ publicstaticARPPacketgetTargetMAC(InetAddresstargetIp){ NetworkInterface[]devices=JpcapCaptor.getDeviceList(); NetworkInterfacedevice=null; //尋找適合的網(wǎng)絡設備 loop:for(NetworkInterfaced:devices){ for(NetworkInterfaceAddressaddr:d.addresses){ if(!(addr.addressinstanceofInet4Address)) continue; byte[]bip=targetIp.getAddress(); byte[]subnet=addr.subnet.getAddress(); byte[]bif=addr.address.getAddress(); for(inti=0;i<4;i++){ bip[i]=(byte)(bip[i]&subnet[i]); bif[i]=(byte)(bif[i]&subnet[i]); } if(Arrays.equals(bip,bif)){ device=d; breakloop; } } } if(device==null) thrownewIllegalArgumentE*ception(targetIp +"isnotalocaladdress"); JpcapCaptorcaptor=null; //打開一個網(wǎng)絡數(shù)據(jù)包捕捉者 try{ captor=JpcapCaptor.openDevice(device,2000,false,300); //只接收ARP數(shù)包 captor.setFilter("arp",true); }catch(E*ceptione){ } //獲得發(fā)送數(shù)據(jù)包的實例 JpcapSendersender=captor.getJpcapSenderInstance(); InetAddresssrcip=null; for(NetworkInterfaceAddressaddr:device.addresses) if(addr.addressinstanceofInet4Address){ srcip=addr.address; break; } //進行廣播數(shù)據(jù)報的MAC地址 byte[]broadcast=newbyte[]{(byte)255,(byte)255,(byte)255, (byte)255,(byte)255,(byte)255}; //構造REQUEST類型的ARP的數(shù)據(jù)包 ARPPacketarp=newARPPacket(); arp.hardtype=ARPPacket.HARDTYPE_ETHER; totype=ARPPacket.PROTOTYPE_IP; arp.operation=ARPPacket.ARP_REQUEST; arp.hlen=6; arp.plen=4; //源MAC地址 arp.sender_hardaddr=device.mac_address; //源IP地址 arp.sender_protoaddr=srcip.getAddress(); //目地MAC地址:廣播地址全為1(二進制) arp.target_hardaddr=broadcast; //目地IP地址 arp.target_protoaddr=targetIp.getAddress(); //構造以太網(wǎng)頭部 EthernetPacketether=newEthernetPacket(); ether.frametype=EthernetPacket.ETHERTYPE_ARP; ether.src_mac=device.mac_address; ether.dst_mac=broadcast; //ARP數(shù)據(jù)包加上以網(wǎng)關頭部 arp.datalink=ether; //向局域網(wǎng)廣播ARP請求數(shù)據(jù)報 sender.sendPacket(arp); //接收目標主面的答應ARP數(shù)據(jù)報 while(true){ ARPPacketp=(ARPPacket)captor.getPacket();//接收返回包 if(p==null){ System.out.println(targetIp+"不是本地局域網(wǎng)的IP號"); returnp; }elseif(Arrays.equals(p.target_protoaddr,srcip.getAddress())){ returnp; } } } publicstaticvoidmain(String[]args)throwsE*ception{ Strings="10.13.72."; for(intn=1;n<=254;n++){ System.out.println(s+n); ARPPacketarpP=Demo2.getTargetMAC(InetAddress.getByName(s+n)); if(arpP==null){} else{ System.out.println("硬件類型:"+arpP.hardtype); System.out.println("操作類型:"+arpP.operation); System.out.println("源MAC地址:"+arpP.getSenderHardwareAddress()); System.out.println("源IP地址:"+arpP.getSenderProtocolAddress()); System.out.println("目標MAC地址"+arpP.getTargetHardwareAddress()); System.out.println("目標IP地址"+arpP.getTargetProtocolAddress()); System.out.println("==================================="); } } }}七、測試數(shù)據(jù)八、測試情況-.z.結論通過這段時間對本系統(tǒng)的設計與實現(xiàn),我們成長了很多,也增長了不少知識。也認識到了自己的不足之處:以前總是眼高手低,現(xiàn)在真動手操作了,才知道,要想熟練的運用學過的知識,也不是一件簡單易行的事情,需要不斷的積累,不斷的實踐,不斷的總結經(jīng)驗和教訓。同時,在設計過程中,遇到不會的問題應及時跟同學老師交流,或者查閱相關文獻資料,這樣才能提高工作效率,并且提高自己的自信心,同時也可以增強團隊合作能力,和與他人的溝通能力。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025單位基本建設合同簡易范文
- 2025年度公司經(jīng)理內部審計與合規(guī)聘用合同3篇
- 二零二五年度環(huán)保建材工廠設備轉讓合同3篇
- 2025年度量子信息內部股東股權轉讓協(xié)議書范文3篇
- 二零二五年度企業(yè)年會場地布置用品采購協(xié)議3篇
- 二零二五年度股權代持風險管理與合作協(xié)議2篇
- 2025年度員工宿舍租賃及智能化安防系統(tǒng)合同3篇
- 2025年度綠色養(yǎng)殖場養(yǎng)殖工人勞動合同3篇
- 2025年度農(nóng)業(yè)機械出租與農(nóng)機具維修服務合同3篇
- 二零二五年度智能交通系統(tǒng)合作項目協(xié)議書模板3篇
- 《淄博人壽保險公司績效考核問題及完善建議(5700字論文)》
- 糖尿病老年患者健康指導
- 2024年城市更新項目回遷安置合同
- 期末卷(一)-2023-2024學年高一年級地理上學期高頻考題期末測試卷(江蘇專用)(原卷版)
- 外研版(三起)(2024)小學三年級上冊英語全冊教案
- 初一《皇帝的新裝》課本劇劇本
- 幼兒園意識形態(tài)風險點排查報告
- 英美文學導論21級學習通超星期末考試答案章節(jié)答案2024年
- 腰椎感染護理查房
- 2023-2024學年全國小學三年級上語文人教版期末考卷(含答案解析)
- 2024秋期國家開放大學??啤斗勺稍兣c調解》一平臺在線形考(形考任務1至4)試題及答案
評論
0/150
提交評論