Принудительный реконнект может потребоваться для получения нового IP-адреса при пользовании, к примеру, таких сервисов, как rapidshare. Для браузера Firefox существует дополнение "[[https://addons.mozilla.org/en-US/firefox/addon/tamper-data/ Tamper Data]]", с помощью которого можно отлавливать и разбирать по полочкам запросы GET/POST. Так вот, основа того, что можно реконнектить модем через веб-интерфейс настроек модема, как раз и лежит в этом способе. Всего (обычно) действий четыре: логин с паролем, разрыв соединения и через некоторое время (5-10 секунд) - восстановление соединения с внешним миром и выход из настроек.
Рассмотрим два шага, для случая, если в локальной сети к установкам модема можно "дотянуться" без пароля.
Если мы уже находимся в веб-интерфейсе настроек модема, то нужно найти кнопки "Disconnect" и "Connect". После этого включаем "Tamper Data" через панель расширений и созерцаем соединения GET/POST в нашем окне. Жмём "Disconnect" в веб-интерфейсе модема и смотрим, что происходит в нижнем левом окне:
POSTDATA=controller=Internet&action=DisconnectInternet&id=0&ReturnPage=%2Fdiagnostic.htm
В верхнем окне, в строке "POST" видим
http://192.168.1.1/cgi-bin/Hn_wan.cgi
Таким же образом определяем восстановление соединения с внешним миром:
POSTDATA=controller=Internet&action=ConnectInternet&id=0&ReturnPage=%2Fdiagnostic.htm
для
http://192.168.1.1/cgi-bin/Hn_wan.cgi
Затем пишем простой shell-скрипт:
#!/bin/sh
# by Karbofos
echo "disconnect"
wget -q -O /dev/null --post-data="controller=Internet&action=DisconnectInternet&id=0&ReturnPage=%2Fdiagnostic.htm" http://192.168.1.1/cgi-bin/Hn_wan.cgi >/dev/null 2>&1
sleep 5
echo "connect"
wget -q -O /dev/null --post-data="controller=Internet&action=ConnectInternet&id=0&ReturnPage=%2Fdiagnostic.htm" http://192.168.1.1/cgi-bin/Hn_wan.cgi >/dev/null 2>&1
Как видно, текст из буфера обмена нужно немного переработать, выкинув текст "POSTDATA=" и обращаться нужно не просто по IP адресу модема, а вызывать нужное cgi приложение, в нашем случае Hn_wan.cgi
Конечно, если у вас доступ к настройкам возможен через ввод пароля, то и скрипт нужно расширить, добавив к wget опции "--http-user=логин --http-password=пароль". Если машина не однопользовательская, параметры аутентификации можно поместив их в файл ~/.wgetrc, указав http_user=логин и http_password=пароль.
URL:
Обсуждается: http://www.opennet.me/tips/info/2569.shtml