❗️Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

Odesílání síly signálu jednotek připojených k MK na mail.

Návody a problémy s konfigurací.
Libor357
Příspěvky: 5
Registrován: 18 years ago

Odesílání síly signálu jednotek připojených k MK na mail.

Příspěvekod Libor357 » 18 years ago

Zdravím, zajímá mne jestli jde naprogramovat Mikrotik, tak aby odesílal sílu signálu v momentě, kdy připojím nového klienta, na mail či mobil. Zatím mi chodí pouze to, že když se přihlásí nová jednotka na AP, dojde mi smska o připojení, ale Já bych ještě chtěl, pokud to jde i sílu signálu. Možno třeba 3x po 1min. Pokud někdo umí, budu vděčný za každou radu.
0 x

Petr Vlašic
Příspěvky: 588
Registrován: 19 years ago
Bydliště: Lanžhot
Kontaktovat uživatele:

Příspěvekod Petr Vlašic » 18 years ago

Toto vlákno patří spíše do sekce Skriptování ,tudíž doporučuji zapnout příkaz mv a přesunout.

Jinak Skript je zde:

Kód: Vybrat vše

# New Client
# Skript ktery kontroluje zda-li nepribyl novy klient do site
# a pokud ano odesle mail
# By Grunt

################################################
### Definice lokalnich promenych
:local macs [:nothing]
:local messages [:nothing]

### Deklarace lokalnich promenych

# Pocet zprav pokud pribude novy klient
:local msgcount 3

# Adresa na kterou bude mail odeslan
:local mailto "petrvlasic@atlas.cz"

# Predmet e-mailu
:local mailsubject "Nove AP v siti"

# Delka prodlevi mezi kontrolami
:local delay 20s
################################################

:foreach ca in=[/interface wireless registration-table find] do={
 :set macs ($macs . [/interface wireless registration-table get $ca mac-address] . ",")
 :set messages ($messages . "0,")
}

:while (true) do={
 :foreach cb in=[/interface wireless registration-table find] do={
  :if ([:find $macs [/interface wireless registration-table get $cb mac-address]]) do={:nothing} else={
   :set macs ($macs . [/interface wireless registration-table get $cb mac-address] . ",")
   :set messages ($messages . $msgcount . ",")
  }
 }
 :foreach cd in=$macs do={
  :if ([:pick $messages [:find $macs $cd]] > 0) do={
   /tool e-mail send to=$mailto subject=$mailsubject body=("MAC:" . $cd . " Signal:" . [/interface wireless registration-table get [/interface wireless registration-table find mac-address=$cd] signal-strength ])
   :set messagesbuffer [:nothing]
   :foreach ce in=$macs do={
    :if ($ce=$cd) do={
     :set messagesbuffer ($messagesbuffer . (([:pick $messages [:find $macs $ce]]) - 1) . ",")
    } \
    else={
     :set messagesbuffer ($messagesbuffer . [:pick $messages [:find $macs $ce]] . ",")
    }
   }
   :set messages $messagesbuffer
  }
 }
 :delay $delay
}

Skrip jsem skusil a jede tudíž syntaktickou chybu vylučuji avšak nějaká logická chyba tam bude určitě...je potřeba vyzkoušet a pokud nepojede ,tak se ozvěte a až budu mít trochu víc času ,tak to zkontroluju. Za komentráře se omlouvam ,ale budou muset stačit protože už začal Dr. House.
0 x

Libor357
Příspěvky: 5
Registrován: 18 years ago

Příspěvekod Libor357 » 18 years ago

Grunt_Mich_An píše:Toto vlákno patří spíše do sekce Skriptování ,tudíž doporučuji zapnout příkaz mv a přesunout.

Jinak Skript je zde:

Kód: Vybrat vše

# New Client
# Skript ktery kontroluje zda-li nepribyl novy klient do site
# a pokud ano odesle mail
# By Grunt

################################################
### Definice lokalnich promenych
:local macs [:nothing]
:local messages [:nothing]

### Deklarace lokalnich promenych

# Pocet zprav pokud pribude novy klient
:local msgcount 3

# Adresa na kterou bude mail odeslan
:local mailto "petrvlasic@atlas.cz"

# Predmet e-mailu
:local mailsubject "Nove AP v siti"

# Delka prodlevi mezi kontrolami
:local delay 20s
################################################

:foreach ca in=[/interface wireless registration-table find] do={
 :set macs ($macs . [/interface wireless registration-table get $ca mac-address] . ",")
 :set messages ($messages . "0,")
}

:while (true) do={
 :foreach cb in=[/interface wireless registration-table find] do={
  :if ([:find $macs [/interface wireless registration-table get $cb mac-address]]) do={:nothing} else={
   :set macs ($macs . [/interface wireless registration-table get $cb mac-address] . ",")
   :set messages ($messages . $msgcount . ",")
  }
 }
 :foreach cd in=$macs do={
  :if ([:pick $messages [:find $macs $cd]] > 0) do={
   /tool e-mail send to=$mailto subject=$mailsubject body=("MAC:" . $cd . " Signal:" . [/interface wireless registration-table get [/interface wireless registration-table find mac-address=$cd] signal-strength ])
   :set messagesbuffer [:nothing]
   :foreach ce in=$macs do={
    :if ($ce=$cd) do={
     :set messagesbuffer ($messagesbuffer . (([:pick $messages [:find $macs $ce]]) - 1) . ",")
    } \
    else={
     :set messagesbuffer ($messagesbuffer . [:pick $messages [:find $macs $ce]] . ",")
    }
   }
   :set messages $messagesbuffer
  }
 }
 :delay $delay
}

Skrip jsem skusil a jede tudíž syntaktickou chybu vylučuji avšak nějaká logická chyba tam bude určitě...je potřeba vyzkoušet a pokud nepojede ,tak se ozvěte a až budu mít trochu víc času ,tak to zkontroluju. Za komentráře se omlouvam ,ale budou muset stačit protože už začal Dr. House.


Zdravím, velice děkuji za odpověï. A pokud bych chtěl aby se mi odesílala síla signálu konkrétní IP nebo MAC adresy při spojení s AP? Tak jak to mám momentálně nastaveno v NETWATCH, že když dojde ke spojení konkrétní IP přijde mi SMS. Prosím pokud je to možné trošičku podrobněji, jsem začátečník a zatím "opisuji" z Mikrotiků které máme v síti a učím se je nastavovat. Tento skrypt, ale kamarád v naší síti nepoužívá. Díky za Váš čas.
0 x

Petr Vlašic
Příspěvky: 588
Registrován: 19 years ago
Bydliště: Lanžhot
Kontaktovat uživatele:

Příspěvekod Petr Vlašic » 18 years ago

Libor357 píše:A pokud bych chtěl aby se mi odesílala síla signálu konkrétní IP nebo MAC adresy při spojení s AP?

Nějak nerozumím otázce.Skript funguje tak ,že si po zapnutí zkopíruje MAC-Adresy ,všech připojených uživatelů do lokální databáze a pak každých 20 sekund(i jiné doby ,podle toho jak si nastavíte v proměné delay) kontroluje zda-li se nepřipojí někdo nový (ten kdo ještě není v databázi) a pokud ano tak to třikrát(či podle toho jak si nastavíte v proměné msgcount) vám to odešle na e-mail(který si nastavujete v proměné mailto) zprávu s MAC Klienta který je nový a jeho sílu signálu (Signal Strength).
Libor357 píše:Tak jak to mám momentálně nastaveno v NETWATCH, že když dojde ke spojení konkrétní IP přijde mi SMS.
Nejsem věštec ani jasnovidec ,tudíž nemám ponětí co máte nastavené v NETWATCH ,ale pokud myslíte víšezmíněný skript ,tak pozor...ten nepatří do NETWATCH ,ale do sekce System -> Script.
Libor357 píše:Prosím pokud je to možné trošičku podrobněji, jsem začátečník a zatím "opisuji" z Mikrotiků které máme v síti a učím se je nastavovat.
Nevím co k tomu ještě dodat...skript se umístňuje do sekce /system script a přímo ve skriptu přepíšete proměné tak aby vám vyhovovaly...u každé proměné je komentář vysvětlující k čemu proměná slouží ,tudíž by neměl být problém si ji přepsat dle vlastního uvážení.
BTW. Tak přestaňte "opisovat" a začněte se "učit".zde naleznete sadu tutoriálů ,kterou je si dobré přečíst aby jste se naučil ty nejzákladnější základy s MikroTiky a pak ,až to trochu budete umět můžete rovnou skočit na manuál ,kde je téměř vše vysvětleno do nejmenších podrobností.
Libor357 píše:Tento skrypt, ale kamarád v naší síti nepoužívá

Nějak mi uniká souvislost mezi tímto "skryptem" a vaším kamarádem.
0 x

Libor357
Příspěvky: 5
Registrován: 18 years ago

Příspěvekod Libor357 » 18 years ago

Grunt_Mich_An píše:
Libor357 píše:A pokud bych chtěl aby se mi odesílala síla signálu konkrétní IP nebo MAC adresy při spojení s AP?

Nějak nerozumím otázce.Skript funguje tak ,že si po zapnutí zkopíruje MAC-Adresy ,všech připojených uživatelů do lokální databáze a pak každých 20 sekund(i jiné doby ,podle toho jak si nastavíte v proměné delay) kontroluje zda-li se nepřipojí někdo nový (ten kdo ještě není v databázi) a pokud ano tak to třikrát(či podle toho jak si nastavíte v proměné msgcount) vám to odešle na e-mail(který si nastavujete v proměné mailto) zprávu s MAC Klienta který je nový a jeho sílu signálu (Signal Strength).
Libor357 píše:Tak jak to mám momentálně nastaveno v NETWATCH, že když dojde ke spojení konkrétní IP přijde mi SMS.
Nejsem věštec ani jasnovidec ,tudíž nemám ponětí co máte nastavené v NETWATCH ,ale pokud myslíte víšezmíněný skript ,tak pozor...ten nepatří do NETWATCH ,ale do sekce System -> Script.
Libor357 píše:Prosím pokud je to možné trošičku podrobněji, jsem začátečník a zatím "opisuji" z Mikrotiků které máme v síti a učím se je nastavovat.
Nevím co k tomu ještě dodat...skript se umístňuje do sekce /system script a přímo ve skriptu přepíšete proměné tak aby vám vyhovovaly...u každé proměné je komentář vysvětlující k čemu proměná slouží ,tudíž by neměl být problém si ji přepsat dle vlastního uvážení.
BTW. Tak přestaňte "opisovat" a začněte se "učit".zde naleznete sadu tutoriálů ,kterou je si dobré přečíst aby jste se naučil ty nejzákladnější základy s MikroTiky a pak ,až to trochu budete umět můžete rovnou skočit na manuál ,kde je téměř vše vysvětleno do nejmenších podrobností.
Libor357 píše:Tento skrypt, ale kamarád v naší síti nepoužívá

Nějak mi uniká souvislost mezi tímto "skryptem" a vaším kamarádem.


Zdravím, a děkuji za komentář. Asi jsem se nevyjádřil moc přesně, ale jak jsem již psal jsem v tomto začátečník. Jinak v NETWATCH mám nastaveno: v záložce "Host" konkrétní IP kterou budu připojovat a v záložce UP a DOWN toto - tool e-mail send to +420xxxxxxxxx@sms.eurotel.cz subject "jméno Klienta is up nebo down", no a když dojde k připojení nebo odpojení nastavené IP klienta, kterého připojuji na AP (MT), přijde mi SMS. A takto jsem myslel, jestli by to šlo nastavit, s tím rozdílem, že by do té SMSky přibyla ještě síla signálu ((jen toho konkrétního klienta, kterého si v Netwatch (pokud vůbec to jde?) nastavím)). Ještě pro upřesnění: předpokládám, že ten skrypt bude pro použití bez těch popisek v CZ a křížků, nebo se mýlím? Proměnné si změním, to je mi jasné. Raději se dvakrát zeptám, než něco pokazit. Samozřejmě až bude čas, tak se na ty manuály podívívám podrobněji (díky za odkazy). No a souvislost mezi mým kamarádem a Vaším skryptem samozřejmě není, myslel jsem to tak, že ho nemám kde opsat. A poslední dotaz, jak hodně bude tento skript zatěžovat systémové prostředky MT? Na některých MT je připojeno dost klientů a nerad bych aby ten MT začal být nestabilní, až do něj nakrmím takovéto úlohy. Pokud to bude šlapat, bude to úspora času v terénu a to bude paráda!! Jinak Vám velice děkuji, že se mnou máte trpělivost a přeji hezký den.
0 x

Petr Vlašic
Příspěvky: 588
Registrován: 19 years ago
Bydliště: Lanžhot
Kontaktovat uživatele:

Příspěvekod Petr Vlašic » 18 years ago

Libor357 píše:Jinak v NETWATCH mám nastaveno: v záložce "Host" konkrétní IP kterou budu připojovat a v záložce UP a DOWN toto - tool e-mail send to +420xxxxxxxxx@sms.eurotel.cz subject "jméno Klienta is up nebo down", no a když dojde k připojení nebo odpojení nastavené IP klienta, kterého připojuji na AP (MT), přijde mi SMS. A takto jsem myslel, jestli by to šlo nastavit, s tím rozdílem, že by do té SMSky přibyla ještě síla signálu ((jen toho konkrétního klienta, kterého si v Netwatch (pokud vůbec to jde?) nastavím)).

Tak potom stačí jen dopsat toto:
/tool e-mail send to="+420xxxxxxxxx@sms.eurotel.cz" subject="jméno Klienta is up" body=("Signal: " . [/interface wireless registration-table get [/interface wireless registration-table find mac-address="XX:XX:XX:XX:XX:XX"] signal-strength]). Jinak doporučuji spíše používat Skripty ze sekce Skriptování pro kontrolu AP...dá se v nich nastavit více věcí.
Libor357 píše:Ještě pro upřesnění: předpokládám, že ten skrypt bude pro použití bez těch popisek v CZ a křížků, nebo se mýlím?

Popisky tam klidně můžou zůstat ,nic neovlivnují a pak se v tom aspoň lépe vyznáte pokud to budete chtít měnit...samozřejmě pokud vám vadí ,tak je můžete smazat.Více viz. sekce Skriptování v manuálu.
OT:Skript je cizý slovo ,tudíž s měkým i.
Libor357 píše:A poslední dotaz, jak hodně bude tento skript zatěžovat systémové prostředky MT? Na některých MT je připojeno dost klientů a nerad bych aby ten MT začal být nestabilní, až do něj nakrmím takovéto úlohy.

Dá se říct že téměř zanedbatelně...po dobu nastavenou v delay bude úloha spát a pak to zkontroluje během pár ms.Myslim že si toho v zatížení ani nevšimnete.A co se stabilty týče ,tak pokud je mi známo tak skripty by neměli ovlivňovat stabilitu systému.
0 x

Libor357
Příspěvky: 5
Registrován: 18 years ago

Příspěvekod Libor357 » 18 years ago

Grunt_Mich_An píše:Tak potom stačí jen dopsat toto:
/tool e-mail send to="+420xxxxxxxxx@sms.eurotel.cz" subject="jméno Klienta is up" body=("Signal: " . [/interface wireless registration-table get [/interface wireless registration-table find mac-address="XX:XX:XX:XX:XX:XX"] signal-strength]). Jinak doporučuji spíše používat Skripty ze sekce Skriptování pro kontrolu AP...dá se v nich nastavit více věcí.

No pokoušel jsem se tam toto nastavit a nic. Pochopitelně jsem dopsal mail i mac adresu. Tak pokud Vás ještě něco napadá, budu Vám vděčný.
0 x

Petr Vlašic
Příspěvky: 588
Registrován: 19 years ago
Bydliště: Lanžhot
Kontaktovat uživatele:

Příspěvekod Petr Vlašic » 18 years ago

Libor357 píše:No pokoušel jsem se tam toto nastavit a nic. Pochopitelně jsem dopsal mail i mac adresu. Tak pokud Vás ještě něco napadá, budu Vám vděčný.

Tak to ale potom musí být chyba někde u vás:
Obrázek

Zkontrolujte si zda-li máte správně nastaveny hodnoty mail Serveru:

Kód: Vybrat vše

/tool e-mail print

A zkontrolujte si zda-li maily odcházejí pomocí snifferu.
0 x

Libor357
Příspěvky: 5
Registrován: 18 years ago

Příspěvekod Libor357 » 18 years ago

Grunt_Mich_An píše:
Libor357 píše:No pokoušel jsem se tam toto nastavit a nic. Pochopitelně jsem dopsal mail i mac adresu. Tak pokud Vás ještě něco napadá, budu Vám vděčný.

Tak to ale potom musí být chyba někde u vás:
Obrázek

Zkontrolujte si zda-li máte správně nastaveny hodnoty mail Serveru:

Kód: Vybrat vše

/tool e-mail print

A zkontrolujte si zda-li maily odcházejí pomocí snifferu.


Opravdu nevím kde je bota. Když nastavím do Netwatch toto: tool e-mail send to="+420xxxxxxxxx@sms.eurotel.cz" subject="klient is up" - posílá to okamžitě mail, a jakmile tam nastavím toto: tool e-mail send to="+420xxxxxxxxx@sms.eurotel.cz" subject="klient is up" body=("Signal: " . [/interface wireless registration-table get [/interface wireless registration-table find mac-address="00:0D:6A:4D:3D:12"] signal-strength]). ani nehlesne. V záložce "host" mám IP na kterou se dané zařízení připojuje (je to taky MT - 133C) no a MAC je pochopitelně taky tohoto zařízení. Nastaveno je to na MT na který se klient připojuje.Díky.
0 x