--- 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)