přejít na obsah přejít na navigaci

Linux E X P R E S, WeWiMo a CaLStats - Monitoring WiFi sítí

WeWiMo a CaLStats - Monitoring WiFi sítí

Zdeněk Štěpánek se zaměřil na dva šikovné prográmky pro monitoring WiFi karet a celé sítě od českého autora Jana Krupy.


WeWiMo

Je všeobecně známo, že pro Linux je nejlepší bezdrátová WiFi karta na 2,4GHz známá XI-626. Počet instalovaných kusů v českých WiFi sítích se může počítat na stovky, možná i více. Právě proto existuje celá řada utilit na správu a monitoring těchto karet. Program WeWiMo slouží k monitoringu síly signálu a dalších drobností přes web. Monitoruje karty v režimu AP, klient i ad-hoc. Kromě síly signálu ukazuje i další doplňující informace. Zejména linkové rychlosti klientů, přenesená data, IP a MAC adresu klienta, použitý kanál a režim. Skript je jednoduchý, proto jsem si do něj připsal zobrazování verze firmwaru karty, její ESSID a přeložil do češtiny, i když je na stránce jen asi deset slov.

Instalace

WeWiMo je bashový skript, který na standardní výstup vypisuje HTML kód. Proto jsem si k němu napsal následující PHP skriptík, který zařídí spuštění skriptu a zaslání HTML kódu klientovi. Osobně ho mám jako index.php v adresáři wewimo. Ten logicky musí být přístupný pro www server.

PHP - jazyk určený především pro tvorbu dynamických www stránek. Lze ho ale použít i jako klasický interpretovaný jazyk, např. Perl apod.


WeWiMo stáhněte ze stránek autora, uložte vedle tohoto PHP souboru a nastavte mu práva pro spuštění. Pokud používáte novější verze ovladače HostAP, použijte patch, který je ke stažení tamtéž, jinak uvidíte divné hodnoty. Moje verze je bez tohoto patche. WeWiMo běží s právy www serveru. Konfigurace je jednoduchá a provádí se na začátku souboru wewimo prostřednictvím editace proměnných. Na začátku jsou cesty k několika systémovým programům, postačí zkontrolovat příkazem whereis a případně přepsat. Lze nastavit, které WiFi rozhraní se bude zobrazovat, zakázat zobrazování MAC adres, zapnout podporu pro routerovou distribuci WISP a několik dalších parametrů. Generovaný HTML kód obsahuje i obnovení po pěti sekundách, ten lze změnit nebo i zakázat.

Whereis - vynikající linuxová utilita sloužící k nalezení programu/knihovny v systémových cestách. Je součástí každé distribuce.

WISP - specializovaná distribuce pro routery. Konfiguruje se i prostřednictvím textového menu. Vzniká na adrese http://leaf.sourceforge.net/wisp-dist/.

Obrázek: Klient

Obrázek: Access Point

Obrázek:Access Point

Na obrázcích je WeWiMo v režimech monitorování jedné karty v režimu AP a klient, v reálu mohou být oba režimy nebo i více karet na jedné stránce. WeWiMo je jen jedna WWW stránka.

CaLStats

U rozsáhlých sítí, zejména na nespolehlivých WiFi spojích, se hodí mít přehled o jednotlivých routerech. Jedním z řešení je použít známý Nagios, jenže ten je pro mnoho lidí nepochopitelný moloch a je zbytečně přesložitělý. CaLStats je naopak přesně z druhé strany spektra, zobrazuje jednoduchou mapu sítě, ze které lze poznat, zda je počítač dostupný, jaký je na něj ping (respektive rtt) a jaké spoje k němu vedou. Stejně jako WeWiMo není CaLStats interaktivní, výstupem programu je pouze PNG obrázek.

Instalace

CaLStats stačí stáhnout, rozbalit např. do /usr/local/calstats, do cronu zapsat spouštění každých pět minut a nakonec to celé nakonfigurovat. CaLStats je kombinace bashového a PHP skriptu. PHP skript je spouštěn lokálně z bashe, nikoliv pomocí webového serveru. Potřebujete tedy ještě PHP. Cron lze nakonfigurovat i na delší intervaly v noci a kratší přes den nebo lze cron nepoužít vůbec a CaLStats spouštět z PHP skriptu vždy, když si klient stránku vyžádá. Výhodou tohoto řešení je okamžitá aktuálnost, ale zase naopak čekání, než se skript vykoná, trvá několik sekund. Toto řešení bych mohl doporučit pro konfiguraci s menším počtem uzlů a při nízkém počtu klientů. CaLStats používá relativní cesty, proto je potřeba spustit obsažený skript jako ./gen_stats a ne jako /usr/local/calstats/calstats/gen/stats. Kvůli tomu používám tento zápis v cronu a primitivní skript:

Cron - program, pomocí něhož lze spouštět další programy např. každou minutu, hodinu nebo každý měsíc.

*/5 * * * * /usr/local/calstats/calstats/run
#!/bin/bash
cd /usr/local/calstats/calstats
./gen_stats

Konfigurace

CaLStats se konfiguruje v souboru gen_stats. Je potřeba nastavit cestu, kam jste CaLStats nainstalovali, cestu, kam ukládat vytvořené obrázky a režim měření rtt (neboli pingu). K dispozici je ping, nmap nebo fping. Já používám ping a nemám s tím problém, ale provedl jsem několik málo drobných vylepšení, upravená verze je ke stažení. Je možné doladit ještě několik detailů, ale většinou to není potřeba. Pro generování jednoho výstupního obrázku potřebuje CaLStats 4 konfigurační soubory, jejichž syntaxe je jednoduchá. Jde vždy o soubor začínající názvem sady konfiguračních souborů a příponou. CaLStats umí generovat najednou více obrázků, stačí je odlišit jménem před tečkou. Bohužel není možné specifikovat různé výstupní adresáře pro různé sady. Popíšu konfiguraci, kterou sám používám a kterou vidíte na obrázku.

Nmap - scanner síťových portů. Lze pomocí něho zjistit, jaké služby běží na vzdáleném počítači. Krom toho umí spoustu dalších moc chytrých věcí.

# gavanet.config
gavanet - dostupnost od serveru;800;450;3;1;FFFFFF;

Tento soubor definuje podkladové okno. První je nadpis v titulku, šířka, výška, umístění legendy, zobrazování rámečku a barva podkladu. Zde stačí nastavit pouze titulek, šířku a výšku.

# gavanet.legend
2;WiFi ap-client;
32;WiFi PTP;
52;5Ghz PTP;
42;Ethernet;
00;offline/plan;

Číslo definuje barvu a tloušťku čáry a popisek je prostě popisek. Čísla lze použít z výchozí konfigurace nebo metodou pokus-omyl dojít ke kýžené čáře.

# gavanet.comp
router-studanka-igw;10.193.123.7;1;550;50
router-studanka;10.193.123.2;1;550;120
server;10.193.123.1;1;700;120
router-elite-ap;10.193.123.9;1;250;260
gameserver;10.193.122.2;1;550;330
router-prazska-stara;10.193.123.6;1;700;330
router-prazska;10.193.123.13;1;550;260
router-komunal;127.0.0.1;0;400;120

První je hostname počítače, další je jeho IP adresa, pak tloušťka rámečku, vzdálenost od levé hrany a nakonec vzdálenost od horní hrany. Doporučuji používat pro vodorovný směr skoky po 150 px a pro svislý směr 70 px. Pokud je IP adresa 127.0.0.1, tak se zobrazí pouze šedý obdélník s jménem bez IP adresy a bez pingu, to se používá pro trvale offline nebo plánované počítače nebo pro pasivní prvky jako např. switch. Výpis byl zkrácen, plnou verzi naleznete ve webové verzi článku.

# gavanet.link
42;router-studanka-igw;router-studanka;
00;router-studanka;router-elite-ptp;
52;router-studanka;router-spicak-garaz;
2;router-komin;router-ryrone;
42;router-elite-ap;router-elite-ptp;
32;router-elite-ptp;router-spicak;
00;router-elite-ptp;router-prazska;
32;router-spicak-garaz;router-hradek;

První je kód čáry (určuje barvu a tloušťku) a za ním následují jednotlivé počítače. Čára je tažena vždy mezi sousedními počítači, jedním řádkem tedy není možné znázornit např. jednotlivé kabely od switche k počítačům. Bylo by nutné mít tolik řádků, kolik je počítačů ve switchi. Výpis byl opět zkrácen. Pokud je vše, jak má být, spusťte CaLStats a výsledek by měl vypadat jako na posledním obrázku.

Obrázek: CaLStats


Článek vyšel v červnovém čísle časopisu. Článek je uveřejněn s GNU FDL licencí (anglicky, česky).

Nahoru

Odkazy

Přidat téma diskuse

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz