網(wǎng)絡(luò)安全導(dǎo)論 實驗3A 網(wǎng)絡(luò)安全編程_第1頁
網(wǎng)絡(luò)安全導(dǎo)論 實驗3A 網(wǎng)絡(luò)安全編程_第2頁
網(wǎng)絡(luò)安全導(dǎo)論 實驗3A 網(wǎng)絡(luò)安全編程_第3頁
網(wǎng)絡(luò)安全導(dǎo)論 實驗3A 網(wǎng)絡(luò)安全編程_第4頁
網(wǎng)絡(luò)安全導(dǎo)論 實驗3A 網(wǎng)絡(luò)安全編程_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

實驗3A網(wǎng)絡(luò)安全編程一、實驗?zāi)康?.掌握手工和程序修改注冊表的方法,掌握相關(guān)API函數(shù)的調(diào)用方法2.熟悉網(wǎng)絡(luò)攻擊的基本方法,理解端口掃描的基本原理。3.對網(wǎng)絡(luò)安全程序開發(fā)有初步了解。二、實驗準備1.通過調(diào)用Runtime.getRuntime().exec可以添加,刪除注冊表某一項的值,要求實驗前熟悉注冊表修改的有關(guān)方法。2.對網(wǎng)絡(luò)端口的掃描可以得到目標計算機開放的服務(wù)程序、運行的系統(tǒng)版本等重要信息,從而為下一步入侵做好準備。對網(wǎng)絡(luò)端口的掃描可以通過執(zhí)行手工命令實現(xiàn),但一般效率較低。較好的選擇就是通過網(wǎng)絡(luò)掃描器來實現(xiàn)。要求實驗前熟悉掃描器的工作原理。3.安全程序的開發(fā)往往需要直接網(wǎng)絡(luò)編程,其中抓包分析是實現(xiàn)網(wǎng)絡(luò)監(jiān)控的基礎(chǔ)。抓包一般有三種方法。第一種是基于原始套接字的方法,它可以對你所抓的包進行任意形式的分析,約束性較小。第二種是基于WinPcap的方法,該方法是從Linux下轉(zhuǎn)移過來的,效率比較高。第三種就是基于Jpcap、Pacanal等其它方法。請同學們查閱有關(guān)資料,了解相關(guān)知識。三、實驗內(nèi)容1.請創(chuàng)建控制臺程序,分析、編譯并執(zhí)行上面程序,給出運行結(jié)果importjava.io.IOException;publicclassTest001{publicstaticvoidchangeStart(booleanisStartAtLogon)throwsIOException{//添加注冊表鍵值StringregKey="HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";Stringkey_Name="test";Stringkey_Data="1";Runtime.getRuntime().exec("regadd"+regKey+"/v"+key_Name+"/treg_sz/d"+key_Data);//刪除注冊表鍵值//Runtime.getRuntime().exec("regadd"+regKey+"/vmytest/treg_sz/d"+key_Data);Runtime.getRuntime().exec("regdelete"+regKey+"/vmytest/f");}publicstaticvoidmain(String[]args)throwsIOException{try{changeStart(true);}catch(IOExceptione){//changeStart(false);e.printStackTrace();}}}2.首先把記事本程序notepad放入c:\myfile,然后運行下述程序修改注冊表,重啟的時候會發(fā)現(xiàn)自動啟動了notepad.exe這個程序。圖3-11修改注冊表中的Autorun,讓notepad自動啟動publicclassTest001{publicstaticvoidchangeStart(booleanisStartAtLogon)throwsIOException{StringregKey="HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run";Stringkey_Name="autorun";Stringkey_Data="\"C:\\Myfile\\notepad.exe\"";Runtime.getRuntime().exec("reg"+(isStartAtLogon?"add":"delete")+regKey+"/v"+key_Name+(isStartAtLogon?"/treg_sz/d"+key_Data:"/f"));}publicstaticvoidmain(String[]args)throwsIOException{try{changeStart(true);}catch(IOExceptione){//changeStart(false);e.printStackTrace();}}}3.直接執(zhí)行下述程序,將獲取本機的ip,并判斷本機器5050端口是否開放,如果沒開放就返回不能連接信息。packagesnippet;importjava.io.IOException;import.InetAddress;import.UnknownHostException;importjava.util.Date;import.telnet.TelnetClient;publicclassSnippet{ publicstaticvoidmain(String[]args){ TelnetClienttelnet; telnet=newTelnetClient(); InetAddresslocalhost=null; try{ localhost=InetAddress.getLocalHost(); }catch(UnknownHostExceptione1){ //TODOAuto-generatedcatchblock e1.printStackTrace(); } System.out.println("ip:"+localhost.getHostAddress()); Stringip=localhost.getHostAddress(); intports=5050; System.out.println("port:"+ports); try {telnet.connect(localhost,ports); } catch(IOExceptione) { e.printStackTrace(); Datetime=newDate(); Stringmsgtext=time+"\n"+ip+":"+ports+"isnotreachable!"; System.out.println(msgtext); } try {telnet.disconnect(); } catch(IOExceptione) {e.printStackTrace(); }}}四、實驗報告1.通過實驗回答下列問題(1)寫出程序1、程序2、程序3的運行結(jié)果實驗一:刪除之前的忘記存了實驗二:實驗三:仿照程序1,給出更改系統(tǒng)登錄用戶,將登錄名改為Hacher的程序清單.用戶名所在位置:問答題網(wǎng)絡(luò)安全編程有哪些特點?1.網(wǎng)絡(luò)必須有一個整體,動態(tài)的安全概念。2.針對用戶所遇到的問題,運用產(chǎn)品和技術(shù)解決問題。3.不僅僅要考慮到技術(shù)還要考慮到策略與管理,技術(shù)是關(guān)鍵,策略是核心,管理是保證。4.一定要了解到用戶實際網(wǎng)絡(luò)系統(tǒng)環(huán)境,對當前可能遇到安全風險和威脅做一個量化和評估。5.動態(tài)安全,既能考慮到現(xiàn)在的情況,也能適用以后網(wǎng)絡(luò)系統(tǒng)的升級,留一個比較好的升級接口。6.沒有決定安全,只有相對安全。只能做到避免風險,消除風險源,不能消滅風險。7.系統(tǒng)是基礎(chǔ),人是核心,管理是保證,減少人為錯誤,管理是關(guān)鍵,系統(tǒng)的安全配置,動態(tài)跟蹤,人的有效管理,都依靠管理來約束。請對CryptoAPI和OpenSSL做一下介紹。CryptoAPI:作為一部分MicrosoftWindows提供的應(yīng)用程序編程接口

(API),CryptoAPI提供了一組函數(shù)。這些函數(shù)允許應(yīng)用程序在對用戶的敏感私鑰數(shù)據(jù)提供保護時,以靈活的方式對數(shù)據(jù)進行加密或數(shù)字簽名。實際的加密操作是由稱為加密服務(wù)提供程序

(CSP)的獨立模塊執(zhí)行。CryptoAPI是一組函數(shù),為了完成數(shù)學計算,必須具有密碼服務(wù)提供者模塊(CSP)。Microsoft通過捆綁RSABaseProvider在操作系統(tǒng)級提供一個CSP,使用RSA公司的公鑰加密算法,更多的CSP可以根據(jù)需要增加到應(yīng)用中。OpenSSL:SSL是SecureSocketsLayer(安全套接層協(xié)議)的縮寫。在計算機網(wǎng)絡(luò)上,OpenSSL是一個開放源代碼的軟件庫包,應(yīng)用程序可以使用這個包來進行安全通信,避免竊聽,同時確認另一端連接者的身份。這個包廣泛被應(yīng)用在互聯(lián)網(wǎng)的網(wǎng)頁服務(wù)器上。OpenSSL采用C語言作為開發(fā)語言,這使得OpenSSL具有優(yōu)秀的跨平臺性。OpenSSL整個軟件包大概可以分成三個主要的功能部分:SSL協(xié)議庫、應(yīng)用程序以及密碼算法庫(對稱加密,如AES,非對稱加密)。請對Winpcap做一下介紹。為win32應(yīng)用程序提供訪問網(wǎng)絡(luò)底層的能力。它用于windows系統(tǒng)下的直接的網(wǎng)絡(luò)編程。Winpcap于網(wǎng)絡(luò)分析,故障排除,網(wǎng)絡(luò)安全監(jiān)控等方面。Winpcap特別適用于下面這幾個經(jīng)典領(lǐng)域:1、網(wǎng)絡(luò)及協(xié)議分析2、網(wǎng)絡(luò)監(jiān)控3、通信日志記錄4、trafficgenerators5、用戶級別的橋路和路由6、網(wǎng)絡(luò)入侵檢測系統(tǒng)(NIDS)7、網(wǎng)絡(luò)掃描8、安全工具Winpcap有些方面不能做。它不依靠主機的諸如TCP/IP協(xié)議去收發(fā)數(shù)據(jù)包。這意味著它不能阻塞,不能處理同一臺主機中各程序之間的通信數(shù)據(jù)。它只能“嗅探”到物理線路上的數(shù)據(jù)包。因此它不適用于trafficshapers,QoS調(diào)度,以及個人防火墻。Winpcap內(nèi)部結(jié)構(gòu)Winpcap是一個Win32平臺下用于抓包和分析的系統(tǒng)。包括一個內(nèi)核級別的packetfilter,一個底層的DLL(packet.dll)和一個高級的獨立于系統(tǒng)的DLL(Wpcap.dll)嘗試使用Jpcap,編一個抓包分析程序,說明程序功能。抓取ip數(shù)據(jù)包importjava.io.IOException;

importjpcap.*;

importjpcap.packet.IPPacket;

importjpcap.packet.Packet;

publicclassJpcapPacket{

publicstaticvoidmain(String[]args)

{

/*--------------第一步綁定網(wǎng)絡(luò)設(shè)備--------------*/

NetworkInterface[]devices=JpcapCaptor.getDeviceList();

for(NetworkInterfacen:devices)

{

System.out.println(+"|"+n.description);

}

System.out.println("-------------------------------------------");

JpcapCaptorjpcap=null;

intcaplen=1512;

booleanpromiscCheck=true;

try{

jpcap=JpcapCaptor.openDevice(devices[1],caplen,promiscCheck,50);

}catch(IOExceptione)

{

e.printStackTrace();

}

/*----------第二步抓包-----------------*/

inti=0;

while(i<10)

{

Packetpacket=jpcap.getPacket();

if(packetinstanceofIPPacket&&((IPPacket)packet).version==4)

{

i++;

IPPacketip=(IPPacket)packet;//強轉(zhuǎn)

System.out.println("版本:IPv4");

System.out.println("優(yōu)先權(quán):"+ip.priority);

System.out.println("區(qū)分服務(wù):最大的吞吐量:"+ip.t_flag);

System.out.println("區(qū)分服務(wù):最高的可靠性:"+ip.r_flag);

System.out.println("長度:"+ip.length);

System.out.println("標識:"+ip.ident);

System.out.println("DF:Don'tFragment:"+ip.dont_frag);

System.out.println("NF:NoreFragment:"+ip.more_frag);

System.out.println("片偏移:"+ip.offset);

System.out.println("生存時間:"+ip.hop_limit);

Stringprotocol="";

switch(newInteger(tocol))

{

case1:protocol="ICMP";break;

case2:protocol="IGMP";break;

case6:protocol="TCP";break;

case8:protocol="EGP";

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論