Forked from diploma thesis of @jakubjancicka. The original repository is here.
IPVisualizator je nástroj pro tvorbu interaktivních vizualizací, které zobrazují IPv4 adresní prostor a hodnoty přiřazené k IP adresám, pomocí Hilbertovy křivky.
Hilbertova křivka se velmi hodí na převedení jednorozměrných IPv4 adres (tj. 32 bitových čísel) do dvojrozměrného prostoru. Hilbertova křivka umisťuje sousední IP adresy a sítě blízko sebe. Hilbertova křivka vyplní vždy celý prostor čtverce, pokud počet prvků v sekvenci je 2^m (m = 2k, kde k odpovídá řádu křivky). To v sobě nese velkou výhodu této vizualizace, protože zachovává hierarchickou strukturu IPv4 prostoru - křivka shlukuje do čtverců sítě se sudou maskou, a každý čtverec obsahuje čtverce s příslušnými podsítěmi sudé masky.
Vizualizace pomocí Hilbertovy křivky může pomoci bezpečnostním týmům s rychlou lokalizací sítí, kde se koncentrují škodlivé entity. Data pro vizualizaci mohou být různá - například se může jednat o seznamy adres, které rozesílají do monitorované sítě spam nebo můžou vizualizovat počet bezpečnostních incidentů u jednotlivých IP adres. Na základě lokalizace mohou sestavovat obecnější pravidla pro firewall (zablokovat komunikaci z celé sítě). Je možné také vizualizovat počet spojení ze sítí určité masky do monitorované sítě za určitý čas, a odhalit tak distribuované útoky typu DDoS vedené z konkrétní sítě.
- IPVisualizator-backend - Adresář se zdrojovými kódy serverové části aplikace
- IPVisualizator-js - Adresář se zdrojovými kódy klientské části aplikace
- IPVisualizator-webservice - Adresář s ukázkou integrace aplikace do webové stránky
- Dockerfile - Dockerfile na vytvoření kontejneru s serverovou částí aplikace
- docker-compose.yml - Docker compose spustí serverovou část aplikace i s databází Redis
- uvodni_text.pdf - Úvodní text, který sloužil jako příprava k diplomové práci autora aplikace
- Naklonujte si tento repositář
- Proveďte v repositáři příkaz
docker-compose build
- Proveďte v repositáři příkaz
docker-compose up
- Dojde ke spuštění API rozhraní, které je defaultně dostupné na 127.0.0.1:8080/api/v1/ . Vizuální rozhraní API běží na adrese http://127.0.0.1:8080/api/v1/ui/ - rozhraní slouží také jako dokumentace API.
- Pro tvorbu vizualizací je možné použít tuto HTML stránku.