1. 程式人生 > >2017-2018-1 20155214 《信息安全系統設計基礎》第13周學習總結

2017-2018-1 20155214 《信息安全系統設計基礎》第13周學習總結

主機 碼雲 關於 信息 ... 總結 簡單 使用 字符

2017-2018-1 20155214 《信息安全系統設計基礎》第13周學習總結

教材學習內容總結

本章主要學習網絡編程,重點研究 客戶端-服務器編程模型 。本章學習的知識承接了我們之前學習的計算機網絡課程,與本學期的 信息安全技術網絡安全編程 課程息息相關。對於信息安全系學生而言不可謂不重要。

在本章學習中,重點實現了:

  1. socket服務器和客戶端搭建
  2. daytime服務器
  3. echo服務器
  4. wc服務器
  5. 服務器叠代
  6. 服務器並發
  7. 服務器文件簡單加密

第11章習題解答

  • 練習題11.1
十六進制地址 點分十進制地址
0x0 0.0.0.0
0xffffffff 255.255.255.255
0x7f000001 127.0.0.1
0xcdbca079 205.188.160.121
0x400c950d 64.12.149.13
0xcdbc9217 205.188.146.23
  • 練習題11.2
    編程hex2dd.c,將他的十六進制參數轉換為點分十進制字符串並打印出結果。

技術分享圖片

hex2dd.c 碼雲鏈接

  • 練習題11.3
    編程dd2hex.c,將他的點分十進制參數轉換為十六進制數並打印出結果。

技術分享圖片

dd2hex.c 碼雲鏈接

  • 練習題11.4
    編寫HOSTINFO的一個版本,用inet_pton而不是getnameinfo將每個套接字地址轉換成點分十進制地址字符串。

Hostinfo 碼雲鏈接

  • 練習題11.5
    在10.11節中,我們警告過你關於在網絡應用中使用標準I/O函數的危險,然而,CGI程序卻能沒有任何問題地使用標準I/O。為什麽?

在子進程中運行的CGI程序不需要顯式地關閉他的輸入輸出流。當子進程終止時,內核會自動關閉所有描述符。

詳細總結本章要點

==socket服務器和客戶端搭建==

  • 如何創建服務器:

在服務器端建立套接字所涉及的步驟如下:

  1. 創建一個socket可使用socket()的系統調用
  2. 使用bind()系統調用套接字綁定到一個地址。對於互聯網上的服務器套接字,地址包括主機的端口號。
  3. 連接監聽listen()系統調用
  4. 接受連接使用accept()系統調用。此調用通常會阻塞,直到客戶端與服務器連接。
  5. 發送和接收數據read()和write()系統調用.
  • 如何創建客戶端:
  1. 系統調用有所不同的客戶端和服務器建立連接,但兩者套接字涉及的基本構造。這兩個過程分別建立自己的套接字。
  2. 在客戶端建立套接字所涉及的步驟如下:
  3. 創建一個socket可使用socket()的系統調用
  4. 套接字連接的服務器地址使用connect()系統調用。
  5. 發送和接收數據。做到這一點的方法有許多,但最簡單的方法是使用read()和write()

技術分享圖片

==daytime服務器實現==

  • 設計內容
  • 設計思路
  • 運行截圖

技術分享圖片

daytime服務器 碼雲鏈接

==echo服務器實現==

  • 設計內容
  • 設計思路
  • 運行截圖

技術分享圖片

echo服務器 碼雲鏈接

==wc服務器實現==

  • 設計內容
  • 設計思路
  • 運行截圖

技術分享圖片

wc服務器 碼雲鏈接

==服務器叠代==

這是最簡單形式的服務器的服務進程的客戶端和第一個請求,然後完成後,需要從其他客戶機的請求。同時,另一個客戶端一直等待。

==服務器並發==

這種類型的服務器運行多個進程並發服務請求一次。因為一個進程可能需要更長的時間,但其他客戶機又不能等太久。 Unix下寫一個並發服務器的方法:

  • 多進程
  • 多線程

==服務器文件簡單加密==

  • 設計內容
  • 設計思路
  • 運行截圖

技術分享圖片

文件加密服務器 碼雲鏈接

代碼托管

結對及互評

本周結對學習情況

- [結對同學學號1](博客鏈接)
- 結對照片
- 結對學習內容
    - XXXX
    - XXXX
    - ...

其他(感悟、思考等,可選)

xxx
xxx

參考資料

  • 《深入理解計算機系統V3》學習指導
  • ...

2017-2018-1 20155214 《信息安全系統設計基礎》第13周學習總結