This shows you the differences between two versions of the page.
uso:teme:tema-3 [2022/12/23 14:05] adelin_costin.popa [Informații generale] |
uso:teme:tema-3 [2024/12/03 21:42] (current) ionut.mihalache1506 [Informații generale] |
||
---|---|---|---|
Line 28: | Line 28: | ||
<note important> | <note important> | ||
- | Deadline: **15 Ianuarie, ora 23:55**\\ | + | Deadline: **20 Decembrie, ora 23:59**\\ |
- | Punctaj: **1.0 puncte** din nota finală\\ | + | |
</note> | </note> | ||
Line 35: | Line 34: | ||
**Actualizări enunț:** | **Actualizări enunț:** | ||
* s-a lansat versiunea iniţială | * s-a lansat versiunea iniţială | ||
- | * schimbare minora task 4 | ||
</note> | </note> | ||
<note> | <note> | ||
- | **Actualizări checker: <color red>versiunea 1.1.5</color>** | + | **Actualizări checker: <color red>versiunea 1.0.0</color>** |
* s-a lansat versiunea iniţială | * s-a lansat versiunea iniţială | ||
- | * update major la primele 3 taskuri | ||
- | * update minor task 5 | ||
- | * update typo task 4 | ||
- | * update typo task 6 | ||
- | * update minor task 4 | ||
</note> | </note> | ||
Line 99: | Line 92: | ||
* Odată găsită parola, dezarhivați ultima barieră între voi și mesajul ascuns. | * Odată găsită parola, dezarhivați ultima barieră între voi și mesajul ascuns. | ||
- | ==== Task 04 (15p) ==== | + | ==== Task 04 (10p) ==== |
| | ||
<note> | <note> | ||
Line 109: | Line 102: | ||
* Creați un script numit ''unbase.sh'' care să decodifice conținutul acestuia și să scrie noul conținut în ''64unbased.txt''. | * Creați un script numit ''unbase.sh'' care să decodifice conținutul acestuia și să scrie noul conținut în ''64unbased.txt''. | ||
- | ==== Task 05 (25p) ==== | + | ==== Task 05 (20p) ==== |
<note> | <note> | ||
Line 125: | Line 118: | ||
* Folosirea diacriticelor în cadrul scriptului nu este necesară și nici recomandată. | * Folosirea diacriticelor în cadrul scriptului nu este necesară și nici recomandată. | ||
- | ==== Task 06 (20p) ==== | + | ==== Task 06 (30p) ==== |
<note> | <note> | ||
Pentru acest task se va lucra exclusiv în directorul /home/student/tema3-task6 | Pentru acest task se va lucra exclusiv în directorul /home/student/tema3-task6 | ||
Înainte de a vă apuca, intrați in directorul acesta. | Înainte de a vă apuca, intrați in directorul acesta. | ||
- | </note> | ||
- | * În directorul curent se află un fișier [[https://en.wikipedia.org/wiki/JSON|JSON]], numit ''inventory.json''. | + | Pentru cerințele a și b veți reține output-ul în log_fixed.txt. |
- | * Acest fișier conține doi jucători de Minecraft și inventarele acestora. | + | Celelalte linii le veți afișa exact așa cum apar în fișierul log.txt. |
- | * [10p] 1. Creați un script numit ''find_common.sh'' care găsește toate itemele comune (bazat strict pe nume) ale celor doi jucători și le pune în ''outputs/common_items.txt''. | + | Toate scrierile către fișiere vor fi făcute direct din scripturi, ci nu la momentul execuției. |
- | * [10p] 2. Creați un script numit ''find_best.sh'' care găsește toate itemele (de la ambii jucători) ce au câmp de durabilitate, le ordonează descrescător după aceasta și le pune în ''outputs/best_items.txt''. | + | Exemplu: `./fix_requests.sh > log_fixed.txt` nu va fi acceptat ca soluție. |
+ | </note> | ||
+ | |||
+ | <note important> | ||
+ | De fiecare dată când veți rula `sudo uso start 3` se va genera un nou log.txt. | ||
+ | </note> | ||
- | * Pentru referință se vor folosi fișierele din directorul ''ref''. | + | * [5p] a. Creați un script numit ''fix_requests.sh'' care afișează în ''log_fixed.txt'' conținutul din ''log.txt'', dar modificând liniie care au ca tip de cerere HEAD, astfel încât să fie afișate invers. |
- | * Pentru prelucrarea datelor din ''.json'' se recomandă folosirea utilitarului [[https://stedolan.github.io/jq/manual/|jq]]. | + | * **Exemplu: <color green>)46x ;46niW ;0.01 TN swodniW( 17.2964.0.79/emorhC :tnegA-resU 1.1/PTTH tuoba/ DAEH</color>** |
+ | * [5p] b. Modificați scriptul ''fix_requests.sh'' astfel încat toate liniile care au ca tip de cerere OPTIONS să fie afișate cu majuscule. | ||
+ | * **Exemplu: <color green>OPTIONS /SOME_OTHER_PATH HTTP/1.1 USER-AGENT: CHROME/97.0.4692.71 (WINDOWS NT 6.1; WOW64)</color>** | ||
+ | * [10p] c. Creați un script numit ''get_users.sh''. În cadrul acestuia, cu ajutorul cererilor de tip POST (din fișierul ''log.txt'') făcute către ''/login'', rețineți în fișierul ''users_db.txt'' toți utilizatorii și parola lor respectivă (ca hash de tipul sha256), sortați alfabetic după utilizatori. | ||
+ | * **Exemplu: <color green>adelin:1bc9414dc185b89669dba035340c4684a6733bbf1cdac568dadcfd2eef731054</color>** | ||
+ | * [10p] d. Creați un script numit ''get_browsers.sh'' în care identificați ce browsere folosesc utilizatorii de iPhone (din fișierul ''log.txt'') și le rețineți în fișierul ''iphone_users_browsers.txt'' alături de numărul de apariții, sortate de la cel mai folosit browser pana la cel mai puțin folosit. | ||
+ | * **Exemplu: <color green>Safari - 120</color>** |