2019寒假訓練營第二次做業

2019寒假訓練營第二次做業

Deadline:2.3 23:00python

學習視頻課程(20')

  • 學習福州大學網絡課程 網絡空間安全概論,造成學習筆記,發佈專門博客,至少完成第1、二週的視頻學習。
  • 或學習密歇根大學的網絡課程Internet history,造成學習筆記,另外發布專門的博客。至少完成第一週的視頻學習。
  • 以上兩門課程二選一便可。

程序題(80'+50')

對於你所完成題目,把實現思路實現結果記錄在博客中,把代碼提交到github的倉庫上。c++

背景

大學期間,你老是點子不少,你利用申請的專利,開了一家互聯網公司,爲客戶提供高效、快捷的服務。git

有一天,訂單量忽然大漲,欣喜之餘,祕書卻告訴你,今天的營業額跌到谷底,客服電話被打爆。github

你發現,看似不少的訂單請求,其實只是給你發了一個「hello」而已服務器忙於應付大量的hello, 已經沒辦法給原有用戶提供正常的服務了,基本處於癱瘓的狀態。編程

通過討論,多是受到了黑客的DDos(分佈式拒絕服務)攻擊。黑客經過發送大量的無用的請求信息,佔用你的服務器資源,讓服務器無法給用戶提供正常的服務。數組

作法

當務之急,是先恢復服務器,把攻擊你的黑客都拉進黑名單,讓服務器不要理會這些請求。安全

第一步,就是要把黑客檢測出來。服務器

你須要對請求進行審查找出其中有問題的請求,而後把發送方拉黑。網絡

這些請求長這個樣子:發送方的名字由4個小寫英文字母組成,後面跟着接收方請求信息的大小,你能夠經過請求信息的大小推測請求的內容。編程語言

發送方 接收方 請求信息的大小 發送方 接收方 請求信息的大小
abcd bob 64 abcd bob 64
khfd bob 265 abcd bob 64
okng bob 364 abcd bob 64
abcd bob 64 abcd bob 64
abcd bob 64 abcd bob 64
dasj bob 863 abcd bob 64
abcd bob 64 abcd bob 64
abcd bob 64 abcd bob 64
abcd bob 64 abcd bob 64
abcd bob 64 abcd bob 64
abcd bob 64 abcd bob 64
abcd bob 64 abcd bob 64
abcd bob 64 abcd bob 64
abcd bob 64 abcd bob 64

……

你的服務器就是那個可憐的Bob,而發送方有不少,有的是普通用戶,而有的就是黑客了。

很明顯,黑客在短期給你發了大量的信息,發送方中的 abcd 就頗有多是黑客,由於他在短期內給你發了不少信息量很小的請求(64,極可能只有hello),並且這些請求值總值已經超過了1500。本着寧錯殺一千,不放過一個的原則,只要總的請求信息的大小超過T=1500,就把它拉黑

描述

編程語言不限


提供的Request.txt

熱身題(20')

  • 學習基本的文件讀寫
  • 讀提供的文件Request.txt
  • 把裏面的內容寫到output.txt

基本題(60')

  • 根據提供請求的輸入Request.txt,把全部請求對應的信息大小都存下來。
    • (c語言:能夠本身定義結構體,用上結構體數組,也能夠用其餘方法)
    • (c++:能夠考慮使用stl的庫裏的map)
    • (推薦python:能夠考慮使用字典)
  • 統計每一個發送方的總請求大小SS超過T的就認定爲黑客,把他們的名字存進你的黑名單裏。
  • 輸出黑客的個數,和這些黑客的名字。

例如:示例中有28個請求,其中abcd發了25個請求,這些請求的總和S是1600>1500=T,因此abcd被認爲是黑客,就把abcd加到你的黑名單裏去。

輸入:

名字和信息大小用一個空格隔開,每條信息用一個換行隔開

lhyy bob 100
hzrr bob 700
cyxx bob 364
lhyy bob 700
lhyy bob 800
zzyy bob 300
zzyy bob 800
zzyy bob 600

輸出:
第一行輸出黑客的總個數,第二行輸出黑客名,每一個黑客名用一個換行隔開

2
lhyy
zzyy

開放題(50')

如今你已經暫時恢復了服務。

但你發現,1的方法很笨,例如:把全部請求都存下來,再統計總值,花費了你大量的存儲空間。這裏麪包含了不少沒必要要的操做,有不少缺點。

  • 吐槽1方法,找到這個方法的問題。
  • 給出你的方法,不必定是完美的,說出方法的優缺點,只要能自圓其說。
    (能夠從速度、佔用的空間、準確率等方面思考)
  • 選作:實現你的方法。
相關文章
相關標籤/搜索