Много раз, когда мы хотим скачать файлы от серверы которые имеют ограничение на загрузку IP, нам нужно изменить IP чтобы обойти это ограничение.
Я покажу как перезагрузите модем с консоли, а затем как сделать скрипт для автоматизации процесса. |
консоль
В качестве введения я скажу вам, что большинство модемов, которые Arnet поставляет в Аргентину, имеют telnet-сервер, поэтому мы подключимся к нему. В некоторых дистрибутивах клиент telnet не установлен, поэтому его необходимо установить. На Debian и производных:
sudo apt-get установить телнет
Для подключения к модему делаем:
Telnet 10.0.0.2
где 10.0.0.2 - IP модема. Как только это будет сделано, консоль покажет нам что-то похожее на следующее:
Теперь мы должны сначала ввести имя пользователя, а потом пароль.
В модемах arnet данные доступа:
Имя пользователя: Администратор
пароль: взять
o
Имя пользователя: Администратор
пароль: алвлгеддл
После входа в систему мы используем помощь чтобы увидеть список доступных команд,
Мы увидим, что одна из команд - перезагрузка. Тогда мы будем использовать перезагружать перезапустить его.
Сценарий
В Ubuntu:
sudo apt-get установить lynx lynx-cur libnotify-bin
Открываем текстовый редактор.
Чтобы узнать, изменил ли модем IP-адрес, нам необходимо проверить общедоступный IP-адрес до и после перезапуска модема. Для этого делаем:
IP = $ (lynx -dump http://cfaj.freeshell.org/ipaddr.cgi)
и мы дадим вам 3 секунды ожидания ответа
спать 3
тогда мы покажем IP в уведомлениях на рабочем столе
notify-send -i info "Фактический IP" "$ IP"
Теперь подключимся к модему.
(сон 2; эхо "админ"; сон 2; эхо "alvlgeddl"; сон 2;
эхо "перезагрузка"; спать 65; эхо "выход") | телнет 10.0.0.2
где «спящий режим 2» - это время, необходимое модему для ответа, а «спящий режим 65» - приблизительное время, необходимое устройству для перезагрузки.
Теперь снова проверяем публичный IP:
IP_NEW = $ (lynx -дамп http://cfaj.freeshell.org/ipaddr.cgi)
Ждем 3 секунды ответа и проверяем, разные ли они:
если ["$ IP"! = "$ IPNEW"]; затем (notify-send -i info "IP изменился"
"$ IPNEW"); еще; (notify-send -i dialog-warning «IP не изменился» «$ IPNEW»); фи
Вот и все.
Теперь мы добавляем shebang в начало документа, сохраняем как
"Restartip", даем ему права на выполнение и копируем в папку
"/ Usr / bin".
chmod + x перезапустить ip
sudo cp перезапуск ip / usr / bin
Для его выполнения достаточно написать в консоли «restartip»
Таким образом сценарий был:
Это партнер!
Большое объятие!
Пабло.
Отличный пост. Идеально для тех, у кого нет фиксированного IP.
Хахаха, как будто у всех есть Арнет, а для тех, у кого есть Speedy, Telecentro, Fiberporongatel, Claro, Telmex и тд ??? Дерьмо твой отчет
Скрипт для конкретного модема, надо менять команды на те, которые вам нужны. Сначала из консоли делаете: telnet 10.0.0.2 (10.0.0.2 - это вообще ip модема, если его нет, измените его в скрипте). Затем вы пишете пользователя, в модемах arnet это admin, а затем пароль, который может быть tomenague или alvlgeddl или какой-то другой. Затем вы набираете help, и он покажет вам все возможные команды, одна из которых должна быть rebbot или restart. Итак, что вам нужно изменить в сценарии: IP модема, имя пользователя и пароль, команду на перезагрузку. Наверняка проблема в том, что пароль не тот, попробуйте сменить его на Tomengue или поискать в гугле какой-нибудь другой ... Приветствую
Привет, друг, статья мне интересна, но сценарий не перезагружает модем,
поэтому ip не меняется, что будет?