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應該在一行上。
- 運行截圖:

