2017-2018-1 20155327 《信息安全系统设计基础》第八周课下作业

课上实践

测试一

参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA 在Linux下完成“求命令行传入整数参数的和”

测试代码传入自己的8位学号

上方提交代码

附件提交运行测试截图
参考代码

public class CLSum {
    public static void main(String [] args) {

        int sum = 0;

        // 参考Integer类中的方法把字符串转为整数
        // 补充代码求命令行参数的args中整数数据的和
        for(String arg: args)
            sum += Interger.parseInt(arg);
        
    // 打印 
        System.out.println(sum);
    }
}

题目分析

以int main(int argc, char **argv)
定义主函数
这样命令行参数会存在argv中
再用atoi函数,把字符串转为整型
代码如下

#include <stdio.h>
#include <stdlib.h>
int main(int argv, char *argc[])
{
    int i, sum = 0;
    if(argv > 1)
    {
       for(i = 1; i < argv; i++)
       sum += atoi(argc[i]);
    }
    printf("%d", sum);
    return 0;
}

实践二

把第一个练习中的代码在X86-64(Ubuntu)中反汇编,给出汇编代码和机器码的截图

把X86-64汇编翻译成Y86-64汇编,并给出相应机器码的截图(使用附件中的Y86-64模拟器)

解答过程

反汇编过程:
.先用gcc CLS.c -o CLS.o将.c文件变成.o文件,然后输入objdump -d CLS.o 查看X86-64中的反汇编代码

实践三

基于socket 使用教材的csapp.h csapp.c,实现daytime(13)服务器(端口我们使用13+后三位学号)和客户端
服务器响应消息格式是

客户端IP:XXXX
服务器实现者学号:XXXXXXXX
当前时间: XX:XX:XX

上方提交代码
提交一个客户端至少查询三次时间的截图测试截图
提交至少两个客户端查询时间的截图测试截图

 posted on 2017-11-12 23:34  20155327李百乾-  阅读(159)  评论(0编辑  收藏  举报