diplomová práce

Zátěžové testování síťových aplikací s využitím Pythonu a frameworku Locust v IPv4 i IPV6

Text práce 2.09 MB Příloha 10.6 MB

Autor práce: Ing. Martin Dundálek

Ak. rok: 2025/2026

Vedoucí: RNDr. Ing. Pavel Šeda, Ph.D.

Oponent: Ing. Vlastimil Člupek, Ph.D.

Abstrakt:

V této práci se autor zabývá tvorbou programu pro zátěžové testování. Při tvorbě zátěžového testování byl použit framework Locust, programovací jazyk Python a pomocné knihovny pro tvorbu grafického rozhraní. Byly identifikovány problémy, jmenovitě tvorba paketů specifického typu, které musely být vyřešeny než mohlo být sestaveno finální řešení. Autor realizoval dílčí řešení jejichž finálním výsledkem je program schopen realizovat zátěžové testování pomocí TCP a UDP floodů. Řešení obsahuje plně grafické rozhraní které umožňuje přepínání mezi třemi testovacími metodami a generováním reportu. Autor následně realizoval sérii tří testů ze kterých vyvodil závěry pro možné budoucí zlepšení programu a potenciální úskalí na které může program v budoucnosti narazit. V těchto testech autor zkoušel vytvořené metody s různou kombinací hodnot u jednotlivých parametrů. Po těchto kombinacích také autor realizoval test s parametry na skutečném zařízení a pro porovnání realizoval test se stejnými parametry na své testovací stanici. Z těchto testů byly vyvozeny závěry a zformulovány konkrétní problémy. Autor konkretizoval jako hlavní úskalí náročnost na výpočetní výkon, jmenovitě na výkon individuálních jader procesoru, a samotný framework Locust který v určitém bodě pouze zvyšuje náročnost na výpočetní výkon aniž by přinášel specifické výhody které by nebylo možné nahradit jiným, na míru vytvořeným jednodušším řešením.

Klíčová slova:

Python, Locust, Load testing, UDP Flood, TCP Flood, diplomová práce, report, GUI, generování zátěže, DoS

Termín obhajoby

09.06.2026

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaBznamka

Klasifikace

B

Průběh obhajoby

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil diplomovou práci a odpověděl na otázky členů komise a oponenta. Otázky členů komise a oponenta: - Práce ve schématu (Obr. A.2) zmiňuje vizualizaci prostřednictvím Grafany, ale ta nebyla implementována. Z jakého důvodu bylo od tohoto záměru upuštěno a jaká by byla technická cesta k jejímu zapojení? - Zadání explicitně požaduje testování v IPv6. Jaké konkrétní kroky by byly potřebné k plnohodnotnému otestování nástroje v IPv6 prostředí a jaká úskalí byste v tom spatřoval?

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační bezpečnost (MPC-IBE)

Složení komise

Ing. Vlastimil Člupek, Ph.D. (člen)
Ing. Petr Dejdar, Ph.D. (člen)
Ing. Patrik Dobiáš (člen)
doc. JUDr. Matěj Myška, Ph.D. (místopředseda)
prof. Ing. Dan Komosný, Ph.D. (předseda)
Ing. Radomír Svoboda, Ph.D. (člen)
Ing. Martin Rusz, Ph.D. (člen)
doc. Ing. Václav Oujezský, Ph.D. (člen)

Diplomová práce Martina Dundálka se zabývá návrhem a implementací rozšíření pro zátěžové testování pomocí nástroje Locust. Student pracoval samostatně, pravidelně konzultoval a aktivně diskutoval postup svého řešení.

Textová část práce odpovídá standardům VUT FEKT pro diplomové práce. V praktické části student úspěšně implementoval požadovanou funkcionalitu pro testování TCP a UDP flood zátěží v prostředí IPv4 i IPv6 sítí. Součástí řešení je také realizace testovacích scénářů, na kterých byla ověřena funkčnost a limity navrženého řešení.

Z provedených testů vyplývá, že řešení je funkční a schopné generovat adekvátní síťovou zátěž, přičemž dosažené výsledky byly analyzovány v různých testovacích scénářích a prostředích. Oceňuji zejména provedení porovnávacích testů na virtuálním prostředí i reálném serveru, které přispěly k lepšímu pochopení limitů navrženého řešení.

Pozitivně hodnotím také skutečnost, že autor popisuje limity realizovaného řešení, které vhodně dokreslují jeho využitelnost v praxi.

Zadání bylo splněno v plném rozsahu.

Celkové hodnocení: A, 90 bodů. Výsledný počet bodů navržený vedoucím: 90

Známka navržená vedoucím: A

Bakalář Martin Dundálek se ve své diplomové práci zabýval návrhem a implementací prototypu pro zátěžové testování síťové infrastruktury s využitím Pythonu a frameworku Locust v IPv4 a IPv6 sítích simulující UDP a TCP flood útoky. Autor realizoval funkční prototyp, vytvořil testovací scénáře, které následně otestoval. Výsledky testů zpracoval a vizualizoval v PDF reportu.

Zadání práce bylo převážně splněno. V práci postrádám testování vytvořených útoků v IPv6 síti. Praktická validace na IPv6 síti nebyla v práci provedena ani komentována. Výsledky práce jsou přehledně prezentovány. Práce má standardní rozsah. Z formálního hlediska je práce na dobré úrovni. Popisky výpisu kódu se uvádí nad výpisem kódu, ne pod ním. V práci chybí seznam použitých zkratek, veličin a symbolů. Mezi číslem a jednotkou by měla být mezera. Dále se v práci vyskytují typografické chyby vdovy. Práce s literaturou je na dobré úrovni. Autor cituje celkem 36 zdrojů, přičemž literatura zahrnuje jak odborné monografie, tak webové zdroje. Z odborného hlediska je práce na vysoké úrovni. Výsledky práce poslouží jako hodnotné praktické poznatky pro komunitu pracující s nástrojem Locust. Otázky k obhajobě:
  1. Práce ve schématu (Obr. A.2) zmiňuje vizualizaci prostřednictvím Grafany, ale ta nebyla implementována. Z jakého důvodu bylo od tohoto záměru upuštěno a jaká by byla technická cesta k jejímu zapojení?
  2. Zadání explicitně požaduje testování v IPv6. Jaké konkrétní kroky by byly potřebné k plnohodnotnému otestování nástroje v IPv6 prostředí a jaká úskalí byste v tom spatřoval?
Výsledný počet bodů navržený oponentem: 80

Známka navržená oponentem: B

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová