File: README.pl

package info (click to toggle)
braa 0.82-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 400 kB
  • sloc: ansic: 3,097; perl: 155; makefile: 12; sh: 10
file content (191 lines) | stat: -rw-r--r-- 9,010 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191

1. OGLNIE

  Braa suy do odpytywania hostw po SNMP - w odrnieniu jednak od snmpget
z pakietu net-snmp, braa moe odpytywa dziesitki czy nawet setki i tysice
hostw jednoczenie, i to w dodatku pracujc jako jeden proces. Dziki temu
zuywana jest niewielka ilo zasobw systemowych a samo odpytywanie (czy w
zasadzie, skanowanie) przebiega BARDZO szybko.

  Braa jest wyposaony w wasny stos SNMP, nie wymaga wic adnych bibliotek
SNMP takich jak net-snmp. Sama implementacja jest bardzo prowizoryczna,
obsuguje tylko kilka typw danych i z pewnoci nie moe by okrelona
jako 'zgodna ze standardami'. Zostaa zaprojektowana tak aby bya szybka -
i jest szybka. Z tego powodu (i oczywicie z powodu mojego lenistwa), nie
ma analizatora jzyka ASN.1 w braa - MUSISZ zna numeryczne wartoci OID'w
o ktre chcesz odpytywa. (np. .1.3.6.1.2.1.1.5.0, a nie system.sysName.0).

2. WYMAGANIA
  
  * system z rodziny *IX w ktrym dziaaj gniazda BSD i kilka istotnych
    syscalli z POSIX'a
  * dua tablica ARP - jeli chcesz odpytywa tysice hostw, potrzebujesz
    systemu ktry bdzie w stanie pomieci tysice wpisw ARP... na przykad
    zainteresuj si gc_thresh w linuksie...

  * dobrze jest mie te zainstalowany gdzie (niekoniecznie na tej samej
    maszynie) peny pakiet SNMP - braa przyjmuje tylko numeryczne OIDy,
    wic czasem moe si okaza, e snmptranslate to cakiem przydatne
    narzdzie...

   Braa nie do koca jest 'portable' - w kadym razie, zostao przetestowane pod
  systemami:
  
   * Linux (shaerrawedd 2.4.19-xfs #7 Fri Oct 4 18:18:38 CEST 2002 i686 unknown)
   * FreeBSD (venom 4.6.2-RELEASE-p10 FreeBSD 4.6.2-RELEASE-p10 #0: Tue Mar 25
           12:59:45 CET 2003     root@venom:/usr/src/sys/compile/VENOM-3  i386)
   * OpenBSD (pantera 3.3 PANTERA#0 i386)
   * SunOS (atlantis 5.9 Generic_112233-04 sun4u sparc SUNW,Ultra-5_10)


3. INSTALACJA

  * przyjrzyj si Makefile i odkomentuj ustawienia dla Twojego systemu
  * zrb 'make'
  * skopiuj binark 'braa' w Twoje ulubione miejsce
   
4. UYCIE

  Braa potrzebuje listy zapyta, okrelonych w poniszej skadni:
  [community@]host[:port]:oid[/id]
  Gdzie: host          to adres IP hosta z ktrym si poczy
         oid           to OID o ktry spyta
		 port          port UDP z ktrym si poczy (domylnie: 161)
         community     to community jakim si zidentyfikowa, domylnie
                       public
		 id            identyfikator zapytania (przydatny przy uywaniu
		               braa w skryptach; sam w sobie nie wpywa na proces
					   zapytania)
		 
  Przykady:
     192.168.12.30:.1.3.6.1.2.1.1.5.0
     private@192.168.31.1:.1.3.6.1.2.1.1.6.0
  Mona poda take cay zakres hostw, powiedzmy:
     10.253.100.1-10.253.105.254:.1.3.6.1.2.1.2.2.1.10.1
  to to samo co:
     10.253.100.1:.1.3.6.1.2.1.2.2.1.10.1
     10.253.100.2:.1.3.6.1.2.1.2.2.1.10.1
     10.253.100.3:.1.3.6.1.2.1.2.2.1.10.1
     ...
     ...


  Jeli potrzebujesz odpyta hosta (lub zakres hostw) o wicej ni jedn
  warto SNMP, musisz po prostu wpisa kilka osobnych zapyta:
     10.253.101.1-10.253.106.1:.1.3.6.1.2.1.10.127.1.1.2.1.1.4
     10.253.101.1-10.253.106.1:.1.3.6.1.2.1.2.2.1.10.1
     10.253.101.1-10.253.106.1:.1.3.6.1.2.1.2.2.1.16.1
     10.253.101.1-10.253.106.1:.1.3.6.1.2.1.10.127.1.1.1.1.6.3
     10.253.101.1-10.253.106.1:.1.3.6.1.2.1.10.127.1.2.2.1.3.2
     10.253.101.1-10.253.106.1:.1.3.6.1.2.1.10.127.1.1.4.1.5.3
  Naturalnie braa wykorzystuje moliwo wysania kilku zapyta SNMP
  w jednym pakiecie i nigdy nie wyle wicej ni jeden pakiet (poza
  sytuacjami retransmisji jeli nie ma odpowiedzi) do jednego hosta -
  swoj drog, zobacz OGRANICZENIA.

  No, tak jak zostao to wspomniane, pierwszy etap to przygotowanie listy
  zapyta. List mona przekaza braa na dwa sposoby. Albo zapisa j do pliku
  tekstowego, w ktrym jedno zapytanie == jedna linijka, albo poda seri
  opcji -q. Mona take miesza obydwie te metody, zaadowa kilka zestaww
  zapyta z kilku rnych plikw, itd.
  
  A oto waciwa skadnia:
  braa [-a] [-s N] [-r R] [-t T] [-q query [-q query [-q query ...]]] [-f file
       [-f file [-f file ...]]]
       
    WYMAGANE OPCJE:
    -q i -f   to opcje do podawania zapyta. -q pozwala na dosowne podanie
              zapytania, -f pozwala na podanie pliku z ktrego zapytania
              zaadowa.
    OPCJE ZMIENIAJCE SZYBKOC DZIAANIA:
    -s N      okrela ile hostw pyta w jednej turze, domylnie 50, patrz niej
    -r R      okrela ilo retransmisji na host, domylnie 3, patrz niej
    -t T      okrela timeout w milisekundach, patrz niej
    OPCJE ZMIENIAJCE FORMAT WYJCIA
    -a        alternatywny format wyjcia

    Wic jak to dziaa?
  
    Tworzona jest kolejka N hostw i wysyane s do niej zapytania. Braa
  czeka do 200 ms na jakie odpowiedzi. Jeli co przyjdzie, hosty ktre
  odpowiedziay s usuwane z kolejki i kolejne hosty wchodz w ich miejsce.
  Ilo retransmisji dla kadego hosta ktry nie odpowiedzia jest nastpnie
  zwikszana - jeli ta ilos osignie R, host jest rwnie usuwany
  z kolejki, zwalniajc miejsce dla nastpnego. Host usunity z kolejki
  nadal moe wysa odpowied i ZOSTANIE ona przyjta, std opnienia
  pakietw s bez znaczenia, kopot jedynie w stratach. Cay proces
  jest powtarzany dopki nie skocz si hosty do zapeniania nowych
  miejsc w kolejce (tzn. wszyscy zostali ju odpytani lub s w trakcie
  odpytywania). Kiedy tak nastpi, kolejka jest stopniowo zmniejszana,
  i kiedy ju osignie dugo 0, braa zamyka wszystkie poczenia,
  sortuje wyniki, wywietla je, wychodzi.
    Po T milisekundach od startu, braa pokazuje wyniki i wychodzi
  natychmiast, niezalenie od tego ile hostw zostao ju odpytanych,
  a do ilu nie poszo nawet p pakietu...

    Jak wida, algorytm nie jest doskonay. Jak wspomniaem, chodzio o to,
  eby by jak najszybszy. Domylne wartoci dla -s i -r s cakiem w porzdku,
  ale oczywicie zawsze moesz je 'podkrci' tak, aby braa chodzio jeszcze
  szybciej (ale mniej dokadnie). Jeli odpytujesz bardzo du ilo hostw, nie
  zapomnij zwikszy znaczco -t.

    Wyniki s wypisywane na stdout, jeden-na-lini:  
    192.168.1.2:.1.3.6.1.2.1.1.5.0:do-wan.elsat.net.pl
    192.168.1.1:.1.3.6.1.2.1.1.4.0:"Mateusz Golicz MG452-RIPE <mtg@elsat.net.pl>"
    192.168.1.1:.1.3.6.1.2.1.1.5.0:ergsun

    Lub jeli podasz -a, host-na-lini z wynikami oddzielonymi spacj, w kolejnoci
  w ktrej zostay podane zapytania o nie:

    10.253.105.245 358 410 -137 276783656 16315982 4
    10.253.105.244 387 480 -105 6611527 391938 1
    10.253.105.242 371 282 182 0 0 2
    10.253.105.239 373 430 34 0 0 6
    10.253.105.238 354 510 -163 262523537 12319047 4
    
	Przy standardowym trybie wypisywania wynikw braa moe przed kadym rezultatem
  zapytania wypisa jego podany przez uytkownika identyfikator; ta opcja moe
  by przydatna do przetwarzania wyjcia z braa w skryptach. Przykadowo, zapytanie o:
    192.168.1.2:.1.3.6.1.2.1.1.5.0/Test
    zwrci co w rodzaju:
	Test/192.168.1.2:.1.3.6.1.2.1.1.5.0:do-wan.elsat.net.pl
    
5. PRZYKADY

    braa -f queries.lst \
         -q 192.168.1.1:.1.3.6.1.2.1.1.5.0 \
         -q 192.168.1.1:.1.3.6.1.2.1.1.4.0 \
         -q 192.168.1.2:.1.3.6.1.2.1.1.4.0
    
    braa -s 50 -ar 3 -t 250000 -q 10.253.101.1-10.253.106.1:.1.3.6.1.2.1.10.127.1.1.2.1.1.4 \
                               -q 10.253.101.1-10.253.106.1:.1.3.6.1.2.1.2.2.1.10.1 \
                               -q 10.253.101.1-10.253.106.1:.1.3.6.1.2.1.2.2.1.16.1 \
                               -q 10.253.101.1-10.253.106.1:.1.3.6.1.2.1.10.127.1.1.1.1.6.3 \
                               -q 10.253.101.1-10.253.106.1:.1.3.6.1.2.1.10.127.1.2.2.1.3.2 \
                               -q 10.253.101.1-10.253.106.1:.1.3.6.1.2.1.10.127.1.1.4.1.5.3

5. BEDY I OGRANICZENIA

  * jedynymi obsugiwanymi typami danych s: integer (gauge, counter, timeticks,
    etc.), string and OID. Oczywicie zawsze moesz poprawi braaasn.c/braaasn.h.
  * braa nigdy nie wyle wicej ni 1500 bajtw (lub pojedynczy pakiet) do hosta
    w pojedynczej prbie. Std ilo zapyta jakie moesz zada jednemu hostowi
    jest ograniczona. Dodatkowo, kiedy osigniesz ten limit podajc zbyt
    wiele zapyta, braa przerwie cay proces skanowania. Nie potrafi okreli
    ile dokadnie wynosi ten limit, po prostu zaley to od wielu czynnmikw
    (gwnie, dugoci OID'w), w kadym razie, 15 zapyta na hosta brzmi
    do niebezpiecznie i lepiej nie przekraczaj tej liczby.
  * nie da si uywa nazw domenowych hostw - zawsze musisz podawa IP.
    c, to drobiazg, myl e w nastpnej wersji (o ile bdzie) zostanie
    to poprawione. 
  * braa prawdopodobnie nie ruszy w rodowiskach 64-bitowych

6. AUTORZY, PODZIEKOWANIA

  Mateusz 'mteg' Golicz <mtg@elsat.net.pl>

7. LICENCJA

  Pakiet rozpowszechniany jest na zasadach licencji GNU GPL, wersja 2.

Mateusz 'mteg' Golicz <mtg@elsat.net.pl>