mozna by to uruchamiac przed rysowaniem mapy sieci w lms'ie i zaznaczyc innym kolorem ikony kompy ktore sa online
byq
-------Original Message-------
From: lms@lists.rulez.pl Date: 07/23/04 13:25:07 To: lms Subject: [lms] arp i apache [lekki offtopic] - dość długie, ale imho ciekawe
Hej!
Trochę offtopicznie, ale <wazelina> gdzie indziej znajdę ludzi, którzy będ± tyle wiedzieli ;-) </wazelina>.
Jestem w trakcie popełniania małego programiku w php, który ma pomóc w serwisowaniu awarii sieci.
Awarii takich, że gdzie¶ na osiedlu, który¶tam switch się powiesi i ludzie przez niego podpięci nie maj± netu.
Programik działa 3 etapowo.
1. Przycisk "odblokuj" robi "sudo ip neigh flush nud all" (czyli zwalnia z trzymania mac-ip)
2. Najobszerniejsza czę¶ć - przycisk "sprawdĽ"
a) "arp -n | grep '192.168' | grep -v incomplete | awk {'print $1'}"
- czyli dostaję listę ipków ludzi, którzy w tym momencie s± widziani przez arp serwera (trochę toporne, ale ok)
b) listę IPków wrzucam do tabeli, a potem korzystaj±c z baz stworzonych przez LMSa znajduję adresy pocztowe ludzi, których serwer widzi
c) adres wywalam do tabelki, sortuję i dzięki temu wiem, że na ul. Jasnej (15 userów) net działa wszystkim, za¶ na ulicy Ciemnej działa tylko mieszkaj±cym pod nr 4 (no i "resetowiec" już wie, którego switcha w pierwszej kolejno¶ci sprawdzić)
3. Przycisk zablokuj - "su arp -f"
Acha, oczywi¶cie przycisk "sprawdĽ" można naciskać nieskończon± ilo¶ć razy (pod warunkiem wcze¶niejszego odblokowania), bo dynamiczna tablica arp ma pełne prawo się zmieniać..
Uff..
Niby wszystko ok, a jednak..
Problem polega na tym, że gdy z shella wywołam linię
arp -n | grep '192.168' | grep -v incomplete | awk {'print $1'}
to w odpowiedzi dostanę np 40 IPków
A je¶li to samo zrobię z poziomu httpd (w tym samym czasie!!)- dostaję 2 - 3 IPki..
Nie mam pojęcia dlaczego..
Niejako intuicyjnie znalazłem czę¶ciowe obej¶cie problemu.
Bezpo¶rednio przed "arp -n" dodałem "sleep 4;"
No ale teraz oczywi¶cie strona sie ładuje 4 sekundy dużej..
I na dodatek wszystko wskazuje na to, że w tablicy wypisuje tylko tych, których arp zobaczył w ci±gu tych 4 sekund. Tak więc kilkukrotne naciskanie sprawdĽ" pokazuje za każdym razem tylko fragment tego, co analogiczny arp wpisany z linii poleceń.
Macie jaki¶ pomysł? Z czego to może wynikać? Bo niestety, nie mam zielonego pojęcia...
pozdroofka
Krzysztof 'Xyo' Dendra