信息安全项目工程实践

上传人:不*** 文档编号:116121922 上传时间:2019-11-15 格式:DOC 页数:17 大小:402.50KB
返回 下载 相关 举报
信息安全项目工程实践_第1页
第1页 / 共17页
信息安全项目工程实践_第2页
第2页 / 共17页
信息安全项目工程实践_第3页
第3页 / 共17页
信息安全项目工程实践_第4页
第4页 / 共17页
信息安全项目工程实践_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《信息安全项目工程实践》由会员分享,可在线阅读,更多相关《信息安全项目工程实践(17页珍藏版)》请在金锄头文库上搜索。

1、#+信息安全工程实践二实践报告姓 名朱杰学 号20165346班 级软信1603指 导 教 师徐剑 王学毅 马毅程序实践名称信息安全工程实践二 程序实践内容网 络 程 序 设 计开 设 学 期2017-2018第二学期开 设 时 间第17周第19周报告日期2018年7 月 14日评 定 成 绩评定人签字评 定 日 期东北大学软件学院一、程序实践概述1、题目名称:Linux操作系统及其相关命令,Linux编程基础Linux程序设计基础2、时间进度:12学时3、开发环境:Ubantu二、问题分析1、功能说明: 熟练掌握如下Linux命令。 系统信息命令:who,w,du,du,df等 文件操作命令

2、:touch,cp,mv,rm,find,grep,cat,more,sort等 目录操作命令:ls,dir,mkdir,rmdir,cd 进程操作命令:ps,top,cal,last,whereis,date 网络操作命令:ping,write,telnet,ftp,talk vi命令编程实现快速排序算法;实现文本文件拷贝函数copy(f_source, f_target);即实现如下功能:$ ./copy f1 f2以上程序执行后当前目录会形成一个新的文件f2,且其内容与f1完全一致。编写一个程序,要求:输入N个学生的学号和成绩,并保存在stu.txt文本文件中,对学生成绩进行排序并把排序

3、后的结果输出到score.txt文件中,同时在屏幕上输出高于平均成绩的学生的学号和成绩。编写一个程序找出串str1和串str2的所有最长公共子串。从文件file.in中读出整数,将其中不同整数及其出现次数,按整数由大到小的顺序输出到文件t.out中。要求:采用2叉有序树做为存储结构。(选作)2、解决方案: 利用PPT中所提供的相关函数使用解决问题三、方案设计1、模块结构:模块功能图和模块描述根据用户输入数组进行快速排序,然后输出排序后的数组用户创建f1,然后运行函数生成f2根据用户输入学生的数据,生成原数据stu文本以及根据成绩进行排序并把排序后的结果输出到score文本中,在屏幕上输出高于平

4、均成绩的学生的学号和成绩根据用户输入的两个字符串,找出最长公共子串读出文件中的整数,将其中不同整数及其出现次数,按整数由大到小的顺序输出到文件t.out中2、数据结构:int a10FILE *fp1,*fp2struct studentint number;int score;student10char a10,b10文本f13、总体流程:给出流程图 4、关键算法:给出关键算法描述if (num1) /重复的判断条件,如果长度小于2,则不需排序 while (i != j) for (j=num-1; ij; j-) m+; if (ajk) ai = aj; n+; break; for

5、(i=0; ik) aj = ai; n+; break; ai = k; sort(a, i); sort(a+i+1, num-i-1); while(c=fgetc(fp1)!=EOF)/将f1拷贝到f2中fputc(c,fp2);putchar(c);for(i=0;im;i+)ai=studenti.score; sort(a,m); for(i=0;im;i+) /结构体排序for(j=0;jm;j+)if(ai=studentj.score)strcpy(student1i.num,studentj.num); student1i.score=studentj.score; fp

6、=fopen(score.txt,w+); fwrite(&student1,sizeof(student1),1,fp); fclose(fp);for(i=0;ilen;i+) for(j=0;jstrlen(b) strcpy(b,a); m=0; 四、调试记录给出测试用例编号用例描述测试结果修改情况分析2 1 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 10无程序运行正确在f1中输入asd生成了f2,打开后里面有asd无程序运行正确在屏幕中输入123456 80123457 70123458 60屏幕上输出:比平均成绩高的学生:123456 80无程序运行正确输

7、入f1=abcdef输入f2=abcgkt最长公子串为:abc无程序运行正确五、创新说明用户可以自行定义数据,根据用户输入的数组进行排序将f1的内容同时在屏幕上输出,用户可以直接查看文件内容用户可以自行定义学生个数以及在屏幕上输入学生数据,并且将成绩单独放到另一数组排序后根据序号对结构体排序用户可以输入任一字符串进行对比一、程序实践概述1、题目名称:Socket编程基础(1)时间服务器(2)远程文件备份服务器2、时间进度:8学时3、开发环境:Ubantu二、问题分析1、功能说明: 编程实现时间服务器编写一个网络时间服务器timeserver,该服务器能应具有如下功能:l 够为网络上的用户提供时

8、间服务,即为网络用户返回服务器的当前时间;l 记录发出请求的网络用户的IP地址(保存到文件中),格式如下: IP地址 请求时间编写时间服务客户端timeclient,该客户端能够向服务器发送时间服务请求,并把获得的时间返回给用户。 编程实现远程文件备份服务器分别采用TCP或UDP协议编写一个远程数据备份服务器,运行客户端将本地文件备份到远程的服务器中。 服务器的功能:接受客户端请求,把客户端的文件进行备份(可以备份到指定的文件夹)。 客户端的功能:与远程服务器进行连接,在连接后把本地的文件发送给远程备份服务器。 设计并实现带身份认证的远程数据备份服务器(选作) 在实验的基础上增加身份管理和认证

9、功能:2、解决方案:服务器端过程就是socket-bind-listen-accept-Read,write对于客户端则是socket-connect-read,write三、方案设计1、模块结构:2、数据结构:文件操作,time_t t,socket文件操作,socket3、 总体流程:4、关键算法: time_t t; if(argc!=2) /获得ip地址 printf(usage %sn,argv0); return 0; if(he = gethostbyname(argv1) = NULL) printf(gethostbyname errorn); return 0; if(so

10、ckfd = socket(AF_INET, SOCK_STREAM, 0) = -1) printf(socket() error n);return 0; bzero(&server, sizeof(server); server.sin_family = AF_INET; server.sin_port = htons(PORT); server.sin_addr = *(struct in_addr *)he-h_addr); if(connect(sockfd, (struct sockaddr *)&server, sizeof(server) = -1) printf(conne

11、tc() errorn);return 0; recv(sockfd,(void *)&t,sizeof(time_t),0);printf(Time is %sn,ctime(&t);5、界面设计:直接使用终端界面进行四、调试记录给出测试用例编号用例描述测试结果修改情况分析1在客户端输入client 127.0.0.0connetc()错误将ip改为172.17.3.94这里的ip地址应使用服务端的ip地址2在客户端输入client 172.17.3.94Time is Sat Jul 7 10:48:30 2018此时结果正确3在客户端输入client 172.17.3.94客户端输入/home/login/Desktop/f1.txt服务端输入/home/login/Desktop/f2.txt在服务端的文件夹里找

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号