To jest stara wersja strony!
whois @ hs
Zamieszany | not7cd, mw |
---|---|
Rozpoczęto | 2018-01-12 |
Status | W trakcie |
Repo | https://github.com/hs3city/whois |
Ogólnie fajnie by było wiedzieć czy ktoś jest w hs'ie. Aktualnie jest działający skrypt dla mikrotika, który wysyła co jakiś czas POST'a do bazy danych po stronie serwera. Stack?
- Mikrotik
- Flask?
Instrukcja
- Zarejestruj się będąc w spejsie
- Najlepiej nick zgodny z wiki
- Tak, hasła są hashowane
- Zajmij urządzenia które są twoje
- Jeżeli nic nie widać poczekaj maks 15 minut, mikrotik powinien je już wysłać
- Uwaga, to samo urządzenie może mieć kilka interfejsów sieciowych
- Ustaw flagi dla urządzenia (z ctrl wiele)
- W profilu możesz ustawić flagi dla siebie i zmienić dane
- Czasem wpadnij zaktualizować swoje urządzenia
- Na slacku użyj komendy
/ktohakuje
- Wykorzystaj endpoint at.hs3.pl/api/now w swoim projekcie
Opis
Skrypt dla Mikrotik z RouterOS >= 6.39
# Get DHCP leases records and send selected fields (MAC ADDRESS, HOST NAME, LAST SEEN and STATUS) to a webservice via POST. :put "Get DHCP leases"; :local leases ""; :foreach i in=[/ip dhcp-server lease find] do={ :local dhcp [/ip dhcp-server lease get $i] :local client "\"mac\":\"$($dhcp->"active-mac-address")\",\"name\":\"$($dhcp->"host-name")\",\"last\":\"$($dhcp->"last-seen")\",\"status\":\"$($dhcp->"status")\""; :set $leases ($leases, $client); } :local json "["; :local first true; :foreach k,v in $leases do={ if ([:len $v] > 0) do={ if ($first = true) do={ :set $json ($json . "{" . $v . "}"); } else={ :set $json ($json . ",{" . $v . "}"); }; :set $first false; } } :set $json ($json."]"); :local data ("data=" . $json); :do { :put "Send DHCP leases"; /tool fetch mode=http url="http://webservice" keep-result=yes dst-path="sendleases.txt" http-method="post" http-data=$data; } on-error={ :put "Send DHCP leases failed!"; log warning "Send DHCP leases failed!"; }
Skrypt wysyła dane w parametrze data sformatowane do json:
data=[{"mac":"11:22:33:44:55:66","name":"Dom","last":"50w6d16h1m10s","status":"waiting"},{"mac":"AA:BB:CC:DD:EE:FF","name":"HS","last":"4d1h58m8s","status":"bound"}]
Log
Proof of Concept: skrypt na mikrotiku komunikujący się z aplikacją — 2018/03/03 5:36
Program uruchomiony na serwerze w HS — not7cd, mroz 2018/03/25 16:18
Forwad i DNS na serwer + Bot na slacku — not7cd 2018/04/08 12:38