ant, przekopiować fop.war do katalogu webapps/ i już.
W Slackware, wystarczyło ściagnąć i odpalić Tomcat'a, wcześniej kopiując skompilowany pod Debianem fop.war do katalogu webapps/ i... gotowe.
ant, przekopiować fop.war do katalogu webapps/ i już.
W Slackware, wystarczyło ściagnąć i odpalić Tomcat'a, wcześniej kopiując skompilowany pod Debianem fop.war do katalogu webapps/ i... gotowe.
0x00000000, na porcie 5678. Urządzenia odpowiadają ramką w formacie MNDP, bardzo podobną do CDP.
Ponieważ skrypt do wykrywania mikrotików napisałem w perlu, strukturę ramki przedstawię jako argument funkcji unpack, a wygląda ona następująco:@s = unpack "H2H2H4(H4n/a*)*", $ramka;
MNDP CDP
$s[0] ?? wersja ramki CDP
$s[1] ?? time-to-live
$s[2] age? suma kontrolna
(
$s[3] typ typ
X
$s[4] wartość wartość
)
...
W tabeli zawarto porównanie elementów struktury ramki MNDP z ramką CDP. Trzy pierwsze elementy struktury są ciężkie do zidentyfikowania, na podstawie wartości które tam się pojawiają. Element oznaczony X to długość następującego po nim łańcucha. Element ten jest automatycznie "wchłaniany" przez unpack, dlatego nie występuje jako osobny element w zwracanej tablicy. Element $s[3], jak sama nazwa wskazuje, zawiera typ przesyłanej wartości. Rozpoznane typy: 0x0001 MAC interfejsu z którego urządzenie wysłało odpowiedź
0x0005 identyfikator urządzenia (domyślnie MikroTik)
0x0007 wersja RouterOS/SwOS
0x0008 platforma
0x000a uptime w sekundach (unsigned long)
0x000b software-id - jeśli dotyczy
0x000c model RouterBOARD'a - jeśli dotyczy
0x000d niezidentyfikowany - zawsze pusty łańcuch
Więcej typów nie zaobserwowałem, być może jest ich więcej (sprawdzałem ramki dla różnych wersji oprogramowania RouterOS oraz SwOS).
Grup, składających się z elementów $s[3] i $s[4] jest kilka. Ilość i ich rodzaj, uzależniona jest od wersji RouterOS/SwOS.
Na razie to tyle, skrypt w kolejnej części.
Przyczyną powstania tego małego projektu, było posiadanie własnych statystyk BOINC. Zaczęło się od wyciągania danych z plików xml bezpośrednio z menadżera BOINC. Ale... wymagało to zainstalowania klienta BOINC i dodania do niego wszystkich monitorowanych projektów. Projekt ewoluował... i teraz dane są wyciągane bezpośrednio z schedulerów projektów. Zawsze można pobierać dane z istniejących baz danych, ale dane te są aktualizowane jedynie kilka razy na dobę albo i rzadziej. W tym przypadku, ograniczeniem na częstotliwość pobrań danych, są ustawienia samego schedulera projektu.
Wszystko dokładnie jest opisane na osobnej stronie http://boinc.mindc.net, którą napisałem już jakiś czas temu, więc nie będę tu się rozpisywał...