How to / Komunikacja przemysłowa

Routery Advantech - Zdalne wgrywanie firmware’u, modułów użytkownika, konfiguracji, dodawania użytkownika oraz restartu z wykorzystaniem skryptów

07.12.2020 Producent: Advantech Zastosowanie: Zakłady przemysłowe, Energetyka, Woda i ścieki, Gaz i Paliwa
Wizerunek autora
Przemysław Strzała Inne artykuły tego autora
Routery Advantech - Zdalne wgrywanie firmware’u, modułów użytkownika, konfiguracji, dodawania użytkownika oraz restartu z wykorzystaniem skryptów

Zdalne wgrywanie firmware’u, modułów użytkownika, konfiguracji, dodawania użytkownika oraz restartu z wykorzystaniem skryptów.

Routery wspierają zdalne parametryzowanie poprzez uruchamianie na komputerze odpowiednich skryptów. Poniżej kilka takich przykładów stworzonych na komputerach z systemem Linux.

Skrypty wymagają pewnej ingerencji, takiej jak zmiana adresu IP, nazwy użytkownika, hasła i tym podobnych.

 

Przykłady dla systemu Linux.

Zdalny upload firmware’u:

#!/bin/sh

 

ROUTER=192.168.1.1

file=UR5i-v2.bin

 

curl -k -d "username=root&password=root" --dump-header /tmp/headers --output /dev/null https://$ROUTER/login_exec.cgi

REQUEST_ID=$(curl -k -b /tmp/headers https://$ROUTER/restore.cgi | sed -n '/hidden/s/.*name="request_id"\s\+value="\([^"]\+\).*/\1/p')

curl -k -b /tmp/headers --form request_id=$REQUEST_ID -F file=@$file --output /dev/null https://$ROUTER/update_exec.cgi

 

Zdalne wgrywanie modułów użytkownika:

#!/bin/sh
 
ROUTER=192.168.1.1
file=gps.v3.tgz
 
curl -k -d "username=root&password=root" --dump-header /tmp/headers --output /dev/null https://$ROUTER/login_exec.cgi
REQUEST_ID=$(curl -k -b /tmp/headers https://$ROUTER/restore.cgi | sed -n '/hidden/s/.*name="request_id"\s\+value="\([^"]\+\).*/\1/p')
curl -k -b /tmp/headers --form request_id=$REQUEST_ID -F file=@$file --output /dev/null https://$ROUTER/module_add.cgi

 

Zdalne wgrywanie konfiguracji:

#!/bin/sh
 
ROUTER=192.168.1.1
file=your_config_file.cfg
 
curl -k -d "username=root&password=root" --dump-header /tmp/headers --output /dev/null https://$ROUTER/login_exec.cgi
REQUEST_ID=$(curl -k -b /tmp/headers https://$ROUTER/restore.cgi | sed -n '/hidden/s/.*name="request_id"\s\+value="\([^"]\+\).*/\1/p')
curl -k -b /tmp/headers --form request_id=$REQUEST_ID -F file=@$file --output /dev/null https://$ROUTER/restore_exec.cgi

 

Zdalne dodawanie użytkownika:

#!/bin/sh
 
ROUTER=192.168.1.1
user="test"
password="conel"
 
curl -k -d "username=root&password=root" --dump-header /tmp/headers --output /dev/null https://$ROUTER/login_exec.cgi
REQUEST_ID=$(curl -k -b /tmp/headers https://$ROUTER/user.cgi | sed -n '/hidden/s/.*name="request_id"\s\+value="\([^"]\+\).*/\1/p')
curl -k -b /tmp/headers --form request_id=$REQUEST_ID --form role="1" --form username="$user" --form passwd="$password" --form passwd2="$password" --output /dev/null https://$ROUTER/user_add.cgi

 

Zdalny restart urządzenia:

#!/bin/sh
 
ROUTER=10.0.0.228
 
curl -k -d "username=root&password=root" --dump-header /tmp/headers --output /dev/null https://$ROUTER/login_exec.cgi
REQUEST_ID=$(curl -k -b /tmp/headers https://$ROUTER/reboot_exec.cgi | sed -n '/hidden/s/.*name="request_id"\s\+value="\([^"]\+\).*/\1/p')
curl -k -b /tmp/headers --form request_id=$REQUEST_ID -d "button=Reboot" --output /dev/null https://$ROUTER/reboot_exec.cgi