当前位置:文档之家› 东北大学秦皇岛分校信息安全实验报告

东北大学秦皇岛分校信息安全实验报告

信息安全基础
实验报告
院别计算机与通信工程学院专业名称计算机科学与技术
班级学号
学生姓名
目录
1 数据的加密与解密 (1)
1.1 实验名称 (1)
1.2 实验目的 (1)
1.3 实验内容 (1)
1.3.1 改进凯撒加密解密程序 (1)
1.3.2 改进RSA加密解密程序 (5)
2 数据包抓取与协议分析 (4)
2.1 实验名称 (4)
2.2 实验目的 (4)
2.3 实验内容 (4)
2.3.1 对进行抓包分析 (4)
2.3.2 wireshark抓包分析得到他人FTP服务器的账号及密码 (5)
3 网络攻防 (7)
3.1 实验名称 (7)
3.2 实验目的 (7)
3.3 实验内容 (7)
3.3.1 模拟SYN 攻击过程 (8)
3.3.2 思考为什么模拟中未能造成WEB 服务器死机或崩溃 (8)
3.3.3 简述 SYN 泛洪攻击防御方法 (8)
4 Tomcat 日志分析与安全加固 (9)
4.1 实验名称 (9)
4.2 实验目的 (9)
4.3 实验内容 (9)
4.3.1 对WEB 服务程序进行安全加固 (9)
4.3.2 个人电脑安全防御措施 (11)
1 数据的加密与解密
1.1 实验名称
数据的加密与解密
1.2 实验目的
1、通过对古典密码算法的编程和分析,理解古典密码编码和分析的基本原
理和方法;
2、通过对 RSA 算法的编程和分析,理解 RSA 算法思想。

1.3 实验内容
1、运行举例的凯撒加密解密程序,并对程序作出一定改进,或编程通过频
度分析原理实现凯撒加密方式破解,并记录实验过程。

2、运行举例的 RSA 加密解密程序,理解 RSA 加密算法思想,对程序进一步
改进,并记录实验过程。

1.4 实验代码
1.4.1 改进凯撒加密解密程序
#include <stdio.h>
#include <string.h>
int main()
{
char passwd[100],encrypted[100];
int i,j,k,t,move;
while(1)
{
printf("Enter message to be encrypted:");
gets(passwd);
printf("Enter shift amount(1-25):");
scanf("%d%*c",&move);
for(i=0; i<strlen(passwd); i++)
{
if(passwd[i] >= 'A' && passwd[i] <= 'Z')
{
passwd[i] = ((passwd[i]-'A')+move)%26+'A';
}
else if(passwd[i] >= 'a' && passwd[i] <= 'z')
{
passwd[i] = ((passwd[i]-'a')+move)%26+'a';
}
}
printf("%s",passwd);
printf("\n");
}
return 0;
}
代码运行结果截图:
1.4.2 改进RSA加密解密程序
#include <stdio.h>
int candp(int a,int b,int c)
{ int r=1;
b=b+1;
while(b!=1)
{
r=r*a;
r=r%c;
b--;
}
printf("%d\n",r);
return r;
}
int main()
{
int p,q,e,d,m,n,t,c,r;
char s;
printf("please input the p,q: ");
scanf("%d%d",&p,&q);
n=p*q;
printf("the n is %3d\n",n);
t=(p-1)*(q-1);
printf("the t is %3d\n",t);
printf("please input the e: ");
scanf("%d",&e);
if(e<1||e>t)
{
printf("e is error,please input again: ");
scanf("%d",&e);
}
d=1;
while(((e*d)%t)!=1) d++;
printf("then caculate out that the d is %d\n",d);
printf("the cipher please input 1\n");
printf("the plain please input 2\n");
scanf("%d",&r);
switch(r)
{
case 1: printf("input the m: "); /*输入要加密的明文数字*/ scanf("%d",&m);
c=candp(m,e,n);
printf("the cipher is %d\n",c);break;
case 2: printf("input the c: "); /*输入要解密的密文数字*/ scanf("%d",&c);
m=candp(c,d,n);
printf("the cipher is %d\n",m);break;
}
return 0;
}
代码运行结果截图:
2 数据包抓取与协议分析
2.1 实验名称
数据包抓取与协议分析
2.2 实验目的
1、掌握数据包抓取方法;
2、初步掌握分解与分析协议数据包;
3、进一步理解ICMP、DNS 等协议报文格式。

2.3 实验内容
2.3.1 对进行抓包分析
实验结果截图:
2.3.2 搭建FTP服务器,访问他人的FTP服务器,通过wireshark抓包分析得到他人FTP服务器的账号及密码
实验结果截图:
如图所示,在wireshark过滤器中输入ftp即可找到他人服务器的账号和密码。

3 网络攻防
3.1 实验名称
网络攻防
3.2 实验目的
1、掌握TCP 三次握手原理;
2、了解SYN 泛洪攻击的原理;
3、了解SYN 网络攻击防御措施。

3.3 实验内容
3.3.1两位同学自由组合,分别模拟攻击端与 WEB 服务器,参考以上演示内容模拟 SYN 攻击过程,并记录相关数据信息。

实验结果截图:
3.3.2 思考:为什么模拟中未能造成 WEB 服务器死机或崩溃?
答:实验中仅有一台电脑对web服务器进行攻击,攻击的次数太少
3.3.3 查询相关资料,简述 SYN 泛洪攻击防御方法。

答:对于SYN泛洪攻击的防范,优化主机系统设置是常用的手段。

如降低SYN timeout时间,使得主机尽快释放半连接的占用;又比如采用SYN cookie设置,如果短时间内连续收到某个IP的重复SYN请求,则认为受到了该IP的攻击,丢弃来自该IP的后续请求报文。

此外合理地采用防火墙等外部网络安全设施也可缓解SYN泛洪攻击。

4 Tomcat 日志分析与安全加固
4.1 实验名称
Tomcat 日志分析与安全加固
4.2 实验目的
1、掌握 Tomcat 日志分析;
2、掌握 WEB 服务器基本加固措施。

4.3 实验内容
4.3.1 根据实验指导书,安装 Tomcat 等 WEB 服务程序,查询相关资料,采用实验指导书中未提及的方法,对 WEB 服务程序进行安全加固;
搭建apache tomcat,通过改变connector的端口号来进行安全加固(原来的端口号为8080)。

实验结果截图:
4.3.2 查询相关资料,了解个人电脑安全防御措施。

答:安装可靠、干净的系统,并做好ghost备份;安装杀毒软件和个人防火墙;养成良好的电脑使用习惯;设置复杂的用户密码。

相关主题