To jest stara wersja strony!
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?
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