Table of Contents

Marcel Hlopko

Zadání: Generátor topológie siete pomocou ICMP Echo, (ping, traceroute) a NMap

Cieľom práce bude vytvoriť skript, ktorý pomocou týchto nástrojov oskenuje daný segment siete, vytvorí hierarchiu, ziska fqdn a oskenuje porty. Výsledok sa uloží na disk (v nejakej forme).

Schválení: NE

Popis problému

Program, ktorý by dokázal rýchlo a efektívne oskenovať veľkú sieť, môže mať veľa využití. Monitorovanie behu, zisťovanie dostupnosti, logovanie a ladenie. Aj keď existujú hotové open source riešenia, napríklad NMap, môže byť zaujímavé sa bližšie pozrieť na túto problematiku.

Čo môžme využiť

Čo použijeme

Kôli jednoduchosti zvolíme ping doplnený traceroute. Pingom získame zoznam živých hostov, a pomocou traceroute určíme hierarchické usporiadanie. Pomocou príkazu host získame fqdn a pomocou nmap zoznam otvorených portov. Na SNMP mi nikto neodpovedal, a routovacie tabuľky mi tiež nikto nechcel dať :)

Ako to použijeme

Budeme sa snažiť zistiť topológiu celej siete ČVUT (147.32.*). Najprv prejdeme všetky siete typu 147.32.*.1 (predpokladáme 24 bitovú masku a teda čo sa nám ozve, bude pravdepodobne router) Ak bude host živý, otestujeme celú podsieť 147.32.n.1-254. Ak je host off, skúsime adresu 147.32.n.129 (predpoklad 25 bitovej masky) a ak bude živý, otestujeme celú podsieť 147.32.n.129-254. Ak nie, skúsime ešte adresy 147.32.n.65 a 147.32.n.193 (26 bitová maska) a prípadne ich podsiete.

Takto vygenerovaný zoznam adries prejdeme príkazom host, ktorý získa fqdn, a príkazom nmap, ktorý získa zoznam voľných portov. Na záver traceroute zistí usporiadanie siete.

Čo sme dostali

Ukážkový skript najprv vytvorí zoznam živých hostov vo forme súboru. Tento súbor sa prejde, a pre každý host sa vytvorí súbor, do ktorého sa zapíše fqdn, voľné porty, a zoznam adries, ktoré sú v rovnakej podsieti.

Výkonnosť

Rýchlosť skriptu je silne obmedzená čakaním na timeout u príkazu ping, ktorý sa nedá nastaviť na hodnotu menšiu ako 1s. Čo znamená v najhoršom prípade, keď bude vypnuté celé ČVUT, 17 minút len ping. V najrýchlejšej verzi sa dá tento čas skrátiť na necelú minútu, má to ale za následok vyťaženie procesora na 100% a vytvorenie 2552 procesov na pozadí a ping toho istého množstva počítačov. To isté sa týka príkazu traceroute, ktorý čaká 1 sekundu na každom uzle. Rýchlosť teda môže byť zvýšena za cenu vyššej záťaže stroja a siete.

Výsledky

V sobotu ráno o 10:00, keď som skript testoval, bolo na ČVUT online 3913 zariadení, test trval XXX minút a vygeneroval XXX kb textových súborov.

Súbory

Zdrojové súbory skriptov

Prezentácia

~~DISCUSSION~~