2018-2019-1 20165324《信息安全系统设计基础》第八周课上测试
实验要求
- 任务一:
- 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA
- 在Linux下完成“求命令行传入整数参数的和”,测试代码传入本身的8位学号,运行代码
#include <stdio.h>
void main(int argc,char** argv)
{
int i,a,sum=0;
for(i=1;i<argc;i++)
{
a=atoi(argv[i]);
sum = sum +a;
}
printf("%d\n",sum);
}
- 运行截图:

- 任务二:
- 把第一个练习中的代码在X86-64(Ubuntu)中反汇编,给出汇编代码和机器码的截图
- 把X86-64汇编翻译成Y86-64汇编,并给出相应机器码的截图(使用附件中的Y86-64模拟器)
- 在Ubuntu中编译汇编代码
- 运行截图:图一为机器码,图二为汇编。


Y86-64模拟器
cd pipe
./psim -t -g ../y86-code/asum.yo
- 将测试一中的X86-64汇编代码翻译成Y86-64汇编代码如图:

- 测试三
- 基于socket使用教材的csapp.h、csapp.c,实现daytime(13)服务器(端口咱们使用13+后三位学号)和客户端,服务器响应消息格式是:客户端IP:XXXX 服务器实现者学号:XXXXXXXX 当前时间: XX:XX:XX
- 关于daytime,daytime服务是基于TCP的应用,服务器在TCP端口13侦听,一旦有链接创建就返回ASCII形式的日期和时间(接收到的任何数据被忽略),在传送完后关闭链接。
- daytime服务也可使用UDP协议,它的端口也是13,不过UDP是用数据报传送当前时间的。接收到的数据被忽略格式对于daytime没有特定的格式,建议使用ASCII可打印字符,空格和回车换行符,daytime应该在一行上。
- 运行截图:

