1、其中实验一要求编程实现,可直接调用相关功能函数完成。实验二至实验四可在机房的网络信息安全综合实验系统上完成。,三、 进度计划序号设计(实验)内容完成时间备注1,接受任务,查阅文献,开始实现密码算法和认证算法第一天2完成加密认证通信系统第二至七天:3上午完成综合扫描及安全评估实验,下午进行网络攻防实验第八天4上午完成网络攻防实验,下午进行系统安全配置实验第九天*5撰写实验报告并验收第十天四、 实验成果要求1、2要求程序能正常运行,并实现任务书要求功能。3完成实验报告,要求格式规范,内容具体而翔实,应体现自身所作的工作,注重对设计思路的归纳和对问题解决过程的总结。五、 考核方式平时成绩+程序验收+
2、实验报告。 学生姓名: 指导教师: 2016 年 6 月 13 日|实验报告; 题 目: 网络信息安全综合实验 院 系: 计算机系 班 级: 学 号: 学生姓名:指导教师: 成 绩: 实验日期: 2016 年 6 月 二、 实验内容三、实验结果实验一:本通信系统为用C#语言编写的P2P方式通信的系统,其具体功能如下:1、识别本机IP地址并赋值到文本框中,产生一个随机数作为端口号,端口号范围限制在1000到65535之间。2、通过运用网络编程的知识尝试用产生的IP与端口号进行监听。图1 发送方界面图2 接收方界面3、设置刷新区域,定时刷新好友在线,可以设置刷新间隔,启动和停止刷新。这里可以通过拖
3、拽VS里自带的控件“timersecond”,实现计时。4、发送消息。消息的传送是具有加密与认证的。 加密:考虑到DES的安全性问题,加密消息是采用AES方式加密的,本系统采用的是C#封装好的AES程序,调用接口,实现对明文的加密。解密同理。 认证:认证是将明文哈希散列后采用RSA算法对其进行签名,再用公钥加密进行认证的,其中哈希散列采用的是SHA1方式。下图为加密与认证的具体流程。图3 加密与认证流程图4 发送方可显示明文与密文 图5接收方解密出明文5、可以发送文件。通过获取文本框中的文件地址,建立文件流,向接收端发送文件。 接收端进行文件监听,接收文件,与发送文件编写过程相似,只是把“写”
4、换成了“读”文件。VS里自带的控件“saveFileDialog”可以帮助用户提示选择保存文件的位置。图6 输入文件位置图7 询问是否接受文件图8 接收与发送文件成功实验二:认识性实验本实验为认识练习信息安全实验平台的部分实验。 SuperScan端口扫描实验扫描结果如下图:图9:扫描结果 Xscan信息探测实验图10:漏洞扫描普通信息与漏洞信息四、实验感悟通过做本次网络安全实验,使我对数据传送的加密与认证流程有了更加深刻的理解,同时知道了数据或者文件在网络中传输是通过byte流的方式传输的,因此程序里多次涉及到了string与byte之间的转换;认证与加密部分连接起来发送给接收方的时候,会用
5、到字符串分割的问题,本程序采用split ( ) 函数,识别空格,完成数据收发;更加安全的认证方式还有加上发送方的ID以及加上时间戳等,以防止重放攻击,本程序只是简单的实现了认证,还有待完善。相对来说,本实验还是有一定难度的,两周的时间查阅了很多资料,阅读了很多相关书籍,对我的编程能力以及对网络安全的认识都有了很大的提高。最后感谢老师的悉心指导,令我受益匪浅。五、部分代码 switch (messageTypeString) case connect: if (myfriendIndex = -1) ListViewItem myFriendItem = new ListViewItem( n
6、ew string ipString, portString, 是 ); 0:1说:2 ipString, portString, cmd); break;checkmessage, ipString, portString, cmd);file = 所有格式|*.*; DialogResult dResult = (您是否要接受 + textBoxLocalIp + 发送给您文件:rn, 消息, , ; if (dResult = if () = m_strFileSavePath = ; SendMessage(ipString, portString, ok同意接受文件); thread
7、FileListen = new Thread(new ThreadStart(FileListen); (); = true; else return; threadSendFile = new Thread(new ThreadStart(SendFile); private void SendFile() TcpClient TCPSend = new TcpClient(); /建立TCP客户端 try (IP, 2626); /指定IP 端口进行连接 NetworkStream stream = (); /获取流 byte byteBuffer = new byte1024; /定义缓冲区 /循环读文件 int nRemain; while (nRemain = (byteBuffer, 0, 1024) != 0) /向接受端发送文件流 (byteBuffer, 0, nRemain); /刷新流 /关闭流 (文件发送完毕! catch (Exception ex) + SendFile
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2