2018-2019-1 20165324 《信息安全系统设计基础》第八周课上测试

2018-2019-1 20165324《信息安全系统设计基础》第八周课上测试

实验要求

  • 任务一:
    1. 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA
    2. 在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
",sum);
  }
  • 运行截图:

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

Y86-64模拟器

  • 使用Y86-64模拟器,将Y86-64模拟器下载到虚拟机后,使用unzip Y86-64模拟器.zip 解压
    使用tar -xf sim.tar解压sim
    参考Y86模拟器按照步骤安装好Y86模拟器
    进入sim目录开始编译
    cd sim
    make clean;make

  • 运行图形界面

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

  • 测试三

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

原文地址:https://www.cnblogs.com/20165324hcj/p/10055909.html