AWD平臺搭建及遇到的問題分析

upfine發表於2022-05-28

1、安裝docker環境

  a使用的是ubuntu系統,通過sudo apt install docker.io進行docker得安裝,此方式會自動啟動docker服務。

  b、通過curl -s https://get.docker.com/ | sh進行安裝,此方式可能需要手動啟動docker服務,啟動命令為:service start docker。

  安裝成功後可通過docker version檢視版本資訊

  

 

2、下載比賽題目

  a、通過sudo git clone https://github.com/zhl2008/awd-platform.git下載題目,或在https://github.com/zhl2008/awd-platform.git下載壓縮包進行解壓,建議直接下載到要部署得服務端。檔案內容主要包含以下資訊(多出來的team1、team2、team3是因為開啟了三個隊伍):

  

 

 

 3、下載映象

  a、進入專案根目錄,下載映象:sudo docker pull zhl2008/web_14.04。

  

 

 4、建立比賽隊伍

  命令為:python batch.py web_yunnan_simple 3,複製3個web_yunnan_simple的靶機,此處需要注意不能以python3啟動,否則會報錯。

  

 

 

5、修改check.py資訊(其餘資訊也可在其中修改,如重新整理時間)

  

 

6、開啟比賽

  通過python start.py ./ 3開啟比賽。

  

 

 7、訪問web站點資訊

  各隊伍得網站只需要修改埠即可,例如:http://ip:8801。

   

 

 8、連線裁判機

  進入check_server目錄,通過:python check.py執行check.py並訪問得分介面,原介面比較醜(0|0|0),在網上找到的夜莫離大佬做的介面,大家需要的自己找一下,大家記得在得分檔案中修改ip地址為虛擬機器或本地得地址。

  

 

 9、結束比賽

  通過sudo python stop_clean.py來結束比賽服務。

補充:

  在搭建的過程中共遇到了以下問題:

  1、在自己得操作過程中因為對docker不夠熟悉,第二次啟動時出現了無法啟動check.py的情況,後來經過多次嘗試和了解,發現在啟動專案之前需要先選擇相應的docker容器,可以通過sudo docker images檢視本機的容器都有哪些,然後選擇對應專案的docker容器即可(docker pull)。

  2、如果存在score.txt、result.txt無法寫入分數、攻擊過程,則給與檔案777許可權,例如:chmod 777 score.txt。

  3、如果檔案分數會一直進行扣分,則修改flag_server地址為虛擬機器的地址。

  4、修改3之後可能會導致分數一直增加,原因是程式碼中設定了check成功後對應分數+1,修改為0即可。

 

相關文章