当前位置: 首页 > 互联网 >

网络安全实验报告

.
网络信息安全综合实验
任务书

一、 目的与要求
根据实验内容的要求和实验安排,要求学生在掌握网络信息安全基本知识的基础上,能够设计出 相应的软件,并且熟练地运用各种网络信息安全技术和手段,发现并解决各类安全问题,维护网络及 操作系统的安全。
二、 主要内容
实验一 加密认证通信系统实现 设计实现一个通信系统,双方可以通过消息和文件通信,用户可选择一种加密算法和认证算法, 对消息和文件进行加密通信和完整性验证。(要实现认证和加密,工具和语言不限,可以直接调用现 有模块,认证和加密不限) 实验二 综合扫描及安全评估 利用常见的一些扫描工具可以检测本系统及其它系统是否存在漏洞等安全隐患,给出全面而完善 的评估报告,帮助管理员发现存在的问题,进而采取有力措施予以弥补,从而提高系统的安全性能。 实验三 网络攻防技术 矛与盾的关系告诉我们,在研究网络安全技术时,只着眼于安全防范技术是远远不够的,知己知 彼方能百战不殆,因此,很有必要同时研究攻击与防范技术,才能更有效地解决各种威胁。 实验四 Windows 系统安全配置方案 作为网络节点,操作系统安全成为网络信息安全首先应予考虑的事务,然而人们往往忽视了 OS 的安全性。其实,OS 的安全不只体现在密码口令上,这仅仅是最基本的一个方面。除此之外,服务、 端口、共享资源以及各种应用都很有可能存在着安全隐患,因此,应采取相应措施设置完善的本地安 全策略,并使用防病毒软件、防火墙软件甚至入侵检测软件来加强系统的安全。 其中实验一要求编程实现,可直接调用相关功能函数完成。实验二至实验四可在机房的网络信息 安全综合实验系统上完成。

三、 进度计划

序号

设计(实验)内容

1 接受任务,查阅文献,开始实现密码
算法和认证算法

2 完成加密认证通信系统

Word 资料

完成时间 第一天 第二至七天

备注

3 上午完成综合扫描及安全评估实验,
下午进行网络攻防实验
4 上午完成网络攻防实验,下午进行系
统安全配置实验
5 撰写实验报告并验收

.
第八天 第九天 第十天

四、 实验成果要求
1. 要求程序能正常运行,并实现任务书要求功能。 2. 完成实验报告,要求格式规范,内容具体而翔实,应体现自身所作的工作,注重对设计思
路的归纳和对问题解决过程的总结。
五、 考核方式
平时成绩+程序验收+实验报告。

学生姓名: 指导教师:
2016 年 6 月 13 日

Word 资料

.

实验报告

Word 资料

题 目: 网络信息安全综合实验

院 系:

计算机系

班 级:

.
学 号: 学生姓名: 指导教师:

成 绩:

实验日期:

2016 年 6 月

Word 资料

.
一、 目的与要求
根据实验内容的要求和实验安排,要求学生在掌握网络信息安全基本知识的基础上,能 够设计出相应的软件,并且熟练地运用各种网络信息安全技术和手段,发现并解决各类安全 问题,维护网络及操作系统的安全。
二、 实验内容
设计实现一个通信系统,双方可以通过消息和文件通信,用户可选择一种加密算法和认 证算法,对消息和文件进行加密通信和完整性验证。(要实现认证和加密,工具和语言不限, 可以直接调用现有模块,认证和加密不限)
三、实验结果
实验一:本通信系统为用 C#语言编写的 P2P 方式通信的系统,其具体功能如下: 1、识别本机 IP 地址并赋值到文本框中,产生一个随机数作为端口号,端口号范围限制在 1000 到 65535 之间。 2、通过运用网络编程的知识尝试用产生的 IP 与端口号进行监听。

Word 资料

图 1 发送方界面

.

图 2 接收方界面

3、设置刷新区域,定时刷新好友在线,可以设置刷新间隔,启动和停止刷新。这里可 以通过拖拽 VS 里自带的控件“timersecond”,实现计时。
4、发送消息。消息的传送是具有加密与认证的。 ? 加密:考虑到 DES 的安全性问题,加密消息是采用 AES 方式加密的,本系统采用
的是 C#封装好的 AES 程序,调用接口,实现对明文的加密。解密同理。 ? 认证:认证是将明文哈希散列后采用 RSA 算法对其进行签名,再用公钥加密进行
认证的,其中哈希散列采用的是 SHA1 方式。下图为加密与认证的具体流程。

假设 A

传递信息

B

[1].AES产生密钥K

[2].加密:EkpuB(K)||EAES(K,M)
(M表示明文,kpuB表示B的公钥)
[3].认证:EkpuB[SigkprA(HashSHA1(M))]
(kprA表示A的私钥,Sig表示用RSA算法签名)
[4].将加密与认证信息连接发送

Word 资料

.
图 3 加密与认证流程

图 4 发送方可显示明文与密文

图 5 接收方解密出明文

5、可以发送文件。通过获取文本框中的文件地址,建立文件流,向接收端发送文件。 接收端进行文件监听,接收文件,与发送文件编写过程相似,只是把“写”换成了“读”文 件。VS 里自带的控件“saveFileDialog”可以帮助用户提示选择保存文件的位置。

图 6 输入文件位置

图 7 询问是否接受文件

图 8 接收与发送文件成功 实验二:认识性实验 本实验为认识练习信息安全实验平台的部分实验。 ? SuperScan 端口扫描实验
扫描结果如下图:
Word 资料

.

? Xscan 信息探测实验

图 9:扫描结果

图 10:漏洞扫描普通信息与漏洞信息
四、实验感悟
通过做本次网络安全实验,使我对数据传送的加密与认证流程有了更加深刻的理解,同 时知道了数据或者文件在网络中传输是通过 byte 流的方式传输的,因此程序里多次涉及到 了 string 与 byte[]之间的转换;认证与加密部分连接起来发送给接收方的时候,会用到字 符串分割的问题,本程序采用 split ( ) 函数,识别空格,完成数据收发;更加安全的认证方 式还有加上发送方的 ID 以及加上时间戳等,以防止重放攻击,本程序只是简单的实现了认 证,还有待完善。
相对来说,本实验还是有一定难度的,两周的时间查阅了很多资料,阅读了很多相关书 籍,对我的编程能力以及对网络安全的认识都有了很大的提高。最后感谢老师的悉心指导, 令我受益匪浅。
Word 资料

.
五、部分代码
switch (messageTypeString) { case "connect": if (myfriendIndex == -1) { ListViewItem myFriendItem = new ListViewItem( new string[] { ipString, portString, "是" }); listViewMyFriend.Items.Add(myFriendItem); } listBoxMessage.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.Format("[{0}:{1}]说:{2}", ipString,
portString, cmd)); break;
case "file": saveFileDialog1.Filter = "所有格式|*.*"; DialogResult dResult = MessageBox.Show("您是否要接受" +
textBoxLocalIp + "发送给您文件:\r\n", "消息", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (dResult == DialogResult.Yes) if (saveFileDialog1.ShowDialog() == DialogResult.OK) { m_strFileSavePath = saveFileDialog1.FileName; SendMessage(ipString, portString, "ok", "同意接受文件"); threadFileListen = new Thread(new ThreadStart(FileListen)); threadFileListen.Start(); threadFileListen.IsBackground = true; } else return;
else return;
Word 资料

.
break; case "ok":
threadSendFile = new Thread(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 byte[1024]; //定义缓冲区 //循环读文件 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; } }
Word 资料




友情链接: 经济学资料 医学资料 管理学 大学文学资料 大学哲学