1、网络信息安全综合实验 任 务 书一、 目的与要求根据实验内容的要求和实验安排,要求学生在掌握网络信息安全基本知识的基础上,能够设计出相应的软件,并且熟练地运用各种网络信息安全技术和手段,发现并解决各类安全问题,维护网络及操作系统的安全。二、 主要内容实验一 加密认证通信系统实现设计实现一个通信系统,双方可以通过消息和文件通信,用户可选择一种加密算法和认证算法,对消息和文件进行加密通信和完整性验证。(要实现认证和加密,工具和语言不限,可以直接调用现有模块,认证和加密不限)实验二 综合扫描及安全评估利用常见的一些扫描工具可以检测本系统及其它系统是否存在漏洞等安全隐患,给出全面而完善的评估报告,帮助
2、管理员发现存在的问题,进而采取有力措施予以弥补,从而提高系统的安全性能。实验三 网络攻防技术矛与盾的关系告诉我们,在研究网络安全技术时,只着眼于安全防范技术是远远不够的,知己知彼方能百战不殆,因此,很有必要同时研究攻击与防范技术,才能更有效地解决各种威胁。实验四 Windows系统安全配置方案作为网络节点,操作系统安全成为网络信息安全首先应予考虑的事务,然而人们往往忽视了OS的安全性。其实,OS的安全不只体现在密码口令上,这仅仅是最基本的一个方面.除此之外,服务、端口、共享资源以及各种应用都很有可能存在着安全隐患,因此,应采取相应措施设置完善的本地安全策略,并使用防病毒软件、防火墙软件甚至入侵
3、检测软件来加强系统的安全。其中实验一要求编程实现,可直接调用相关功能函数完成。实验二至实验四可在机房的网络信息安全综合实验系统上完成。三、 进度计划序号设计(实验)内容完成时间备注1接受任务,查阅文献,开始实现密码算法和认证算法第一天2完成加密认证通信系统第二至七天3上午完成综合扫描及安全评估实验,下午进行网络攻防实验第八天4上午完成网络攻防实验,下午进行系统安全配置实验第九天5撰写实验报告并验收第十天四、 实验成果要求1 要求程序能正常运行,并实现任务书要求功能。2 完成实验报告,要求格式规范,内容具体而翔实,应体现自身所作的工作,注重对设计思路的归纳和对问题解决过程的总结.五、 考核方式平
4、时成绩+程序验收+实验报告. 学生姓名: 指导教师: 2016 年 6 月 13 日实验报告 题 目: 网络信息安全综合实验 院 系: 计算机系 班 级: 学 号: 学生姓名: 指导教师: 成 绩: 实验日期: 2016 年 6 月 一、 目的与要求根据实验内容的要求和实验安排,要求学生在掌握网络信息安全基本知识的基础上,能够设计出相应的软件,并且熟练地运用各种网络信息安全技术和手段,发现并解决各类安全问题,维护网络及操作系统的安全。二、 实验内容设计实现一个通信系统,双方可以通过消息和文件通信,用户可选择一种加密算法和认证算法,对消息和文件进行加密通信和完整性验证.(要实现认证和加密,工具和
5、语言不限,可以直接调用现有模块,认证和加密不限)三、实验结果实验一:本通信系统为用C#语言编写的P2P方式通信的系统,其具体功能如下:1、识别本机IP地址并赋值到文本框中,产生一个随机数作为端口号,端口号范围限制在1000到65535之间.2、通过运用网络编程的知识尝试用产生的IP与端口号进行监听。图1 发送方界面图2 接收方界面3、设置刷新区域,定时刷新好友在线,可以设置刷新间隔,启动和停止刷新.这里可以通过拖拽VS里自带的控件“timersecond”,实现计时。4、发送消息.消息的传送是具有加密与认证的.l 加密:考虑到DES的安全性问题,加密消息是采用AES方式加密的,本系统采用的是C
6、#封装好的AES程序,调用接口,实现对明文的加密。解密同理。l 认证:认证是将明文哈希散列后采用RSA算法对其进行签名,再用公钥加密进行认证的,其中哈希散列采用的是SHA1方式.下图为加密与认证的具体流程。图3 加密与认证流程图4 发送方可显示明文与密文 图5接收方解密出明文5、可以发送文件。通过获取文本框中的文件地址,建立文件流,向接收端发送文件。 接收端进行文件监听,接收文件,与发送文件编写过程相似,只是把“写换成了“读”文件。VS里自带的控件“saveFileDialog”可以帮助用户提示选择保存文件的位置.图6 输入文件位置图7 询问是否接受文件图8 接收与发送文件成功实验二:认识性实
7、验本实验为认识练习信息安全实验平台的部分实验。l SuperScan端口扫描实验扫描结果如下图:图9:扫描结果l Xscan信息探测实验图10:漏洞扫描普通信息与漏洞信息四、实验感悟通过做本次网络安全实验,使我对数据传送的加密与认证流程有了更加深刻的理解,同时知道了数据或者文件在网络中传输是通过byte流的方式传输的,因此程序里多次涉及到了string与byte之间的转换;认证与加密部分连接起来发送给接收方的时候,会用到字符串分割的问题,本程序采用split ( ) 函数,识别空格,完成数据收发;更加安全的认证方式还有加上发送方的ID以及加上时间戳等,以防止重放攻击,本程序只是简单的实现了认证
8、,还有待完善。相对来说,本实验还是有一定难度的,两周的时间查阅了很多资料,阅读了很多相关书籍,对我的编程能力以及对网络安全的认识都有了很大的提高。最后感谢老师的悉心指导,令我受益匪浅。五、部分代码 switch (messageTypeString) case ”connect”: if (myfriendIndex = -1) ListViewItem myFriendItem = new ListViewItem( new string ipString, portString, ”是” ); listViewMyFriend.Items。Add(myFriendItem); listBo
9、xMessage。Items。Add(string。Format(0:1说:2”, ipString, portString, cmd)); break; case ”check”: if (myfriendIndex = 1) ListViewItem myFriendItem = new ListViewItem( new string ipString, portString, ”是” ); listViewMyFriend.Items.Add(myFriendItem); break; case message”: listBoxMessage.Items。Add(string。For
10、mat(”0:1说:2, ipString, portString, cmd); break; case file: saveFileDialog1。Filter = 所有格式*.; DialogResult dResult = MessageBox.Show(您是否要接受 + textBoxLocalIp + ”发送给您文件:rn”, 消息, MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (dResult = DialogResult。Yes) if (saveFileDialog1.ShowDialog() = Dialo
11、gResult。OK) m_strFileSavePath = saveFileDialog1.FileName; SendMessage(ipString, portString, ”ok”, ”同意接受文件”); threadFileListen = new Thread(new ThreadStart(FileListen)); threadFileListen.Start(); threadFileListen。IsBackground = true; else return; else return; break; case ”ok”: threadSendFile = new Th
12、read(new ThreadStart(SendFile)); threadSendFile。Start(); threadSendFile.IsBackground = true; private void SendFile() TcpClient TCPSend = new TcpClient(); /建立TCP客户端 try TCPSend。Connect(IP, 2626); /指定IP 端口进行连接 NetworkStream stream = TCPSend.GetStream(); /获取流 byte byteBuffer = new byte1024; /定义缓冲区 /循环读
13、文件 int nRemain; while (nRemain = m_fsSend。Read(byteBuffer, 0, 1024) != 0) /向接受端发送文件流 stream.Write(byteBuffer, 0, nRemain); /刷新流 stream.Flush(); stream.Close(); /关闭流 m_fsSend。Close(); TCPSend.Close(); MessageBox。Show(文件发送完毕!”, ”消息”, MessageBoxButtons。OK, MessageBoxIcon。Information); threadSendFile.Join(); catch (Exception ex) MessageBox.Show(ex.Message + ”SendFile”); return;