Изменить ip модема с bash

Много раз, когда мы хотим скачать файлы от серверы которые имеют ограничение на загрузку IP, нам нужно изменить IP чтобы обойти это ограничение.

Я покажу как перезагрузите модем с консоли, а затем как сделать скрипт для автоматизации процесса.

консоль

В качестве введения я скажу вам, что большинство модемов, которые Arnet поставляет в Аргентину, имеют telnet-сервер, поэтому мы подключимся к нему. В некоторых дистрибутивах клиент telnet не установлен, поэтому его необходимо установить. На Debian и производных:

sudo apt-get install telnet

Для подключения к модему делаем:

Telnet 10.0.0.2

где 10.0.0.2 - IP модема. Как только это будет сделано, консоль покажет нам что-то похожее на следующее:

Теперь мы должны сначала ввести имя пользователя, а потом пароль.

В модемах arnet данные доступа:

Имя пользователя: админ
пароль: взять

o

Имя пользователя: админ
пароль: alvlgeddl

После входа в систему мы используем помощь чтобы увидеть список доступных команд,

Мы увидим, что одна из команд - перезагрузка. Тогда мы будем использовать перезагружать перезапустить его.

Сценарий

Для скрипта нам потребуются следующие программы: lynx-cur, libnotify-bin.

В 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»

Таким образом сценарий был:

Лаунчер нужно разместить в / usr / share / applications /

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

5 комментариев, оставьте свой

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

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Давайте использовать Linux сказал

    Это партнер!
    Большое объятие!
    Пабло.

  2.   братский сказал

    Отличный пост. Идеально для тех, у кого нет фиксированного IP.

  3.   Carlos сказал

    Хахаха, как будто у всех есть Арнет, а для тех, у кого есть Speedy, Telecentro, Fiberporongatel, Claro, Telmex и тд ??? Дерьмо твой отчет

  4.   Франко Валледор сказал

    Скрипт для конкретного модема, надо менять команды на те, которые вам нужны. Сначала из консоли делаете: telnet 10.0.0.2 (10.0.0.2 - это вообще ip модема, если его нет, измените его в скрипте). Затем вы пишете пользователя, в модемах arnet это admin, а затем пароль, который может быть tomenague или alvlgeddl или какой-то другой. Затем вы набираете help, и он покажет вам все возможные команды, одна из которых должна быть rebbot или restart. Итак, что вам нужно изменить в сценарии: IP модема, имя пользователя и пароль, команду на перезагрузку. Наверняка проблема в том, что пароль не тот, попробуйте сменить его на Tomengue или поискать в гугле какой-нибудь другой ... Приветствую

  5.   Kendy сказал

    Привет, друг, статья мне интересна, но сценарий не перезагружает модем,
    поэтому ip не меняется, что будет?