1 мая 2011 г.

Написание реконнект-скрипта для DSL модема с использованием telnet

собственно, была небольшая проблемка реконнекта модема от Zyxel, выглядующего в сеть с целью получения нового IP адреса компа.

при входе на модем через telnet, необходимо пройдись по пунктим меню:


telnet 192.168.1.1
login,yourpassword
24
8
poe drop poe0
dev dial 1
99


зная эту последовательность команд, пишем скриптик для реконнекта:



#!/bin/sh
host=192.168.1.1
port=23
login="superadmin"
passwd="yourpassword"

(echo open ${host} ${port}
sleep 1
echo ${login}
sleep 1
echo ${passwd}
sleep 1
echo "24"
sleep 1
echo "8"
sleep 1
echo "poe drop poe0"
sleep 1
echo "dev dial 1"
sleep 1
echo exit) | telnet


задержки в секунду (sleep 1) вводились сугубо из-за опасения за медленную реакцию роутера.

Или циклом:

#!/bin/bash
host=127.0.0.1
port=23
arr=( "superadmin" "yourpassword" "24" "8" "poe drop poe0" "dev dial 1" "99" )

(echo open ${host} ${port}
sleep 1
for j in "${arr[@]}"
do
echo $j
sleep 1
done
echo exit) | telnet

Комментариев нет:

Отправить комментарий