mirror of
https://codeberg.org/mclemens/qrz.is.git
synced 2024-06-13 00:50:49 +00:00
62 lines
2.8 KiB
Markdown
62 lines
2.8 KiB
Markdown
|
---
|
||
|
title: "MikroTik: Ausführen von Skripten per SMS"
|
||
|
author: micha
|
||
|
date: 2018-12-30T13:00:11+02:00
|
||
|
url: /blog/mikrotik-exec-scripts-via-sms/
|
||
|
draft: false
|
||
|
categories:
|
||
|
- MikroTik
|
||
|
|
||
|
---
|
||
|
# Einführung
|
||
|
|
||
|
Dieser Blogeintrag beschäftigt sich mit dem Ausführen von Skripten per SMS-Kommandos. In diesem Beispiel soll als Aktion eine SMS zurückgesendet werden, welche die aktuelle öffentliche IP-Adresse enthält.
|
||
|
|
||
|
# Vorbedingungen
|
||
|
|
||
|
* MikroTik RouterBoard mit USB-Port, z.B. ein MikroTik hEX
|
||
|
* USB UMTS-Stick, z.B. ein Standard Huawei Stick aus verschiedenen Prepaid-Angeboten
|
||
|
|
||
|
# Los geht's
|
||
|
|
||
|
Zuerst schauen wir nach, ob der Router den USB-Stick erkannt hat:
|
||
|
|
||
|
[admin@hEX] /system resource usb> print
|
||
|
# DEVICE VENDOR NAME SPEED
|
||
|
0 1-0 Linux 3.3.5 xhci-hcd xHCI Host Controller 480
|
||
|
1 2-0 Linux 3.3.5 xhci-hcd xHCI Host Controller 5000
|
||
|
2 1-1 HUAWEI Technology HUAWEI Mobile 480
|
||
|
|
||
|
|
||
|
Anschließend versenden wir eine Test-SMS:
|
||
|
|
||
|
/tool sms send usb1 "+4915212345678" message="Test"
|
||
|
|
||
|
Nach dem erfolgreichen Test kann das benötigte Skript wie folgt erstellt werden:
|
||
|
|
||
|
/system script
|
||
|
add dont-require-permissions=yes name=extip owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=\
|
||
|
"/tool fetch url=\"https://icanhazip.com/\" mode=http dst-path=mypublicip.txt\r\
|
||
|
\n:local currentIP [/file get mypublicip.txt contents]\r\
|
||
|
\n:put \$currentIP\r\
|
||
|
\n/tool sms send usb1 \"+4915212345678\" message=\"\$currentIP\";"
|
||
|
|
||
|
Zur Ermittlung der öffentlichen IP wird absichtlich nicht das WAN-Interface abgefragt, sondern ein externer Dienst, da mein Router nicht direkt mit dem Internet verbunden ist. Die Antwort des versendeten GET-Requests wird in der Datei mypublicip.txt zwischengespeichert und direkt darauf per SMS an die im Skript hinterlegte Nummer gesendet.
|
||
|
|
||
|
Zuletzt muss noch der Empfang von SMS aktiviert werden:
|
||
|
|
||
|
/tool sms
|
||
|
set allowed-number=+4915212345678 port=usb1 receive-enabled=yes secret=GeheimesPasswort
|
||
|
|
||
|
Wenn alles geklappt hat, muss man folgenden Text (ohne Anführungszeichen) and die Nummer des UMTS-Sticks senden:
|
||
|
|
||
|
":cmd GeheimesPasswort extip"
|
||
|
|
||
|
Als Antwort sollte anschließend die öffentliche IP-Adresse des Routers kommen.
|
||
|
|
||
|
Weitere Informationen sind dem MikroTik Wiki entnehmbar:
|
||
|
|
||
|
* [Manual:Tools/SMS](https://wiki.mikrotik.com/wiki/Manual:Tools/Sms)
|
||
|
* [Manual:Tools/Fetch](https://wiki.mikrotik.com/wiki/Manual:Tools/Fetch)
|
||
|
* [Manual:Scripting](https://wiki.mikrotik.com/wiki/Manual:Scripting)
|