Jelentkezés emailben: pvarga@tmit.bme.hu és nemethgab@tmit.bme.hu Feladat hozzárendelése: FCFS Beadási határidő: 2020.05.29. 23:59. ---> Aki mindenképp ad be megoldást, de szűkösnek ítéli a határidőt, írjon Varga Palinak a Teams-en rögvest (de még a pénteki ZH vége előtt). Script feladatok 0. Egy gyárterület alaprajza 10x10-es mátrixba rajzolható, ahol fekete cellával jelezhetjük a falakat és akadályokat, fehérrel pedig az utakat. Készítsen egy olyan programot, amely segít a "targoncásnak" előre bejárni a területet, és megállapítja, melyik a legrövidebb (legkevesebb lépésből álló) útvonal bármely két pont között. 1. Megkapja az alábbi C függvényt tartalmazó állomány tárgykódját (object code): int magic(int i){ return fun(i); }. Írjon egy scriptet, amely a tárgykód feldolgozásával meghatározza azokat a matematikai műveleteket (+, *, /, %, stb.), amelyeket az ismeretlen fun nevű függvény rejt! 2. Adva van egy git commit id. A commitot tartalmazó branch-en a megadott commitból időben visszafele elindulva keresse meg azt a commitot, ahol törölve lett a detail.cpp nevű fájl. 3. A vírushelyzetre való tekintettel a geocaching szerelmesei is otthoni keresték a geoládákat. Írjon egy scriptet, amely elindul egy megadott honlapról, ott megkeresi a geoládát, amelyet egy olyan tag rejt, amelynek class attribútuma geocache. Az így megtalált tag href attribútuma rejti a következő ládát tartalmazó oldal url-jét, az data-treasure attribútuma pedig a ládában található kincset. A láda pozíciója a tag szövegében található (az x és y koordináta vesszővel elválasztva). Keresse meg az összes geoládát! A script álljon le, amikor egy oldalon nem talál geoládát, és írja ki az összes geoláda helyét és a bennük talált kincset. 4. Adatbázisszervere minden éjjel és minden hét vasárnapján biztonsági mentéseket végez: “kidumpolja” az adatbázis teljes tartalmát. A napi mentések egy hét után törődnek. A mentések nevei a dump készítésének a napját, illetve a mentés típusát (daily, weekly) tartalmazzák. A felhasználók szeretnék visszaállítani az adatbázisukat egy korábbi állapotba, ehhez kérik az Ön segítségét. Egy tábla neve, annak egy oszlopa, illetve az oszlopban található érték - ez áll a rendelkezésükre, erről tudják, hogy az utolsó jó állapot még tartalmazta. Írjon egy scriptet, amely az előzőleg említett három paraméter alapján megkeresi az utolsó jó állapotot tartalmazó mentést! 5. Két, nem közvetlenül egymást követő, git commit id-je alapján határozza meg bináris kereséssel annak a két megadott commit között levő commitnak az id-jét, ahol a cége fejlesztői elrontották a VS-ban írt C++ programjukat. A hibát arról lehet megismerni, hogy a filters állományban az egyik konfliktus feloldása során kimarad egy lezáró tag. 6. Írjon a man mintájára egy myman nevű scriptet, amely segítségével a MySQL C API függvényeiről lehet leírást kérni. A függvények leírásának a forrása legyen a MySQL hivatalos honlapja, a leírásokat a script minden alkalommal töltse le az oldalról. Implementálja a man minél több funkcióját (pl. formázás, lapozás, kilépés a Q megnyomásával). 7. Készítsen scriptet, amely futtatási könyvtárában és azok alkönyvtáraiban végignézi az összes c kiterjesztésű C nyelvű forráskódot, és kilistázza azon függvények neveit (mindet csak egyszer), amelyek benne vannak egy előre megadott szótárállományban. 8. Készítsen scriptet, amely egy C++ forráskódból g++-szal fordított Linux bináris futtatható állományból kinyeri, hogy milyen függvényhívásokat (függvény neve, paramétereinek a típusa) tartalmaz. 9. Írjon sciptet, amely a http://en.cppreference.com/w/c/header oldalról, illetve annak aloldalairól letöltött adatok alapján kiírja a paramétereként megkapott szabványos header-állományban deklarált függvényeket és típusokat! 10. Készítsen scriptet, amely hálózati protokoll- analizátor (pl. Wireshark) csomagszintű, szöveges kimenetét feldolgozza. Ebből 3-tuple (IP-cím-párok, és port-párok, valamint hordozó protokoll) alapján összerendeli a flow-kat, és statisztikát készít arról, hogy melyik flow mennyi ideig tartott, mekkora volt az átlagos csomagmérete, valamint mekkora volt a benne lévő legnagyobb "szünet", ami két csomag érkezése között eltelt. 11. Készítsen egy olyan scriptet, ami minél kevesebb különálló email elküldésével "fekete doboz tesztelés" jelleggel kideríti egy egyszerű, tanulásmentes, szabad szavas spam-szűrő tiltott szavainak a listáját. 12. Készítsen egy scriptet, amely hálózati protokoll- analizátor (pl. Wireshark) csomagszintű, szöveges kimenete alapján kiválogatja a Tinder és Snapchat forgalomhoz tartozó szerver domain-neveket. 12. Készítsen sriptet, amely egy olyan bemeneti állományon dolgozik, aminek egy IP-cím, egy felhasználónév, és egy jelszó a tartalma. A script óránként bejelentkezik az IP-címre, és kilistázza a top 5 processzor-használó alkalmazást a távoli gép egy állományába; majd 24 óránként átmásolja ezt a (dátumra is utaló nevű) naplóállományt a helyi gépre. 13+1. Count Virtula. Egy paraméterként megadott könyvtárban található és a C++ szabvány szerint hiba nélkül forduló több fájlból álló modern C++ kódban keresse meg azokat a virtuális tagfüggvényeket, amelyek a leszármaztatott osztályokban potenciálisan rosszul lettek felüldefiniálva, azaz a tagfüggvény maga egy const típusmódosítóban különbözik a felüldefiniált, felüldefiniálni vágyott virtuális tagfüggvénytől. ********************************************************************** Házi feladatok - esszé, szakirodalmi forrásmegjelöléssel 6-8 oldalban 1. A rendszerüzemeltetői csoport vezetőjének mindennapi kihívásai 2. Szerverfarmot üzemeltetek, avagy a szürke hétköznapok kihívásai 3. Gyakorlati tapasztalatok az ITIL használata során 4. Közösségi portálok használata és üzemeltetése során alkalmazott biztonsági megoldások 5. Esettanulmány: gyökeres változás egy nagyvállalat informatikai rendszerében 6. VPN egy tanácsadó cég életében 7. MS 0-day kernel hiba... A mindenre felkészült adminisztrátor "nulladik" napja 8. Diszk archiváló rendszerek működésének gyakorlati kérdései 9. Tűzfalak üzemeltetésének gyakorlati tapasztalatai