Скрипт смены IP Wedisida

Скрипт смены IP Wedisida

Динамический и статический IP адрес

Для начала необходимо разобраться, что же такое динамический и статический IP адрес? И чем они отличаются?

Все наверняка знакомы с понятием IP адрес. Всё в интернете работает через этот протокол (ну почти все, для обычного пользователя интернет это сайты и какие нибудь сервисы). Каждый провайдер, который предоставляет услуги доступа в интернет для своих абонентов располагает пулом таких IP адресов. Этот пул обычно ограничен 100-200 адресами (образно), а абонентов может быть например 1000-10000. Соответственно, физически невозможно за каждым абонентом закрепить свой внешний IP адрес, да и абоненты приходят и уходят, поэтому отслеживать и высвобождать неиспользуемые IP адреса опять же требуют лишние усилия. Как же сделать чтобы у каждого абонента свой IP адрес и чтобы можно было использовать всего 100 IP на всех? Тут на помощь приходит технология NAT и динамические IP адреса. Описывать, что такое NAT и технологию динамического распределения адресного пространства пула IP не буду, кому надо, в инете полно статей.

У большинства провайдеров реализована данная технология и вы наверно замечали, что при перезагрузке роутера или при переподключении соединения с провайдером вам выдается новый внешний IP адрес. Этим мы и можем воспользоваться для увеличения прибыли, т.к. с точки зрения серфингов при вашем переподключении появляется новый IP, который еще не был задействован в системе. Автосерфинги начинают засылать туда старую рекламу, которая уже была просмотрена на старом IP и начислять вам заработок.

Как определить какой у вас IP адрес?

Это сделать очень просто. Для начала, зайдите на сайт с отображением вашего реального IP адреса, например http://myip.ru или http://2ip.ru. Запомните IP какой у вас высветился в данном сервисе. Затем вам надо переподключиться к вашему провайдеру. Обычно достаточно просто перезагрузить роутер. Снова заходим на http://myip.ru или http://2ip.ru и проверяем изменился ли IP адрес. Скорее всего у вас изменилась последняя цифра в 4 октете IP адреса. Тоесть с точки зрения интернета, вы вышли через новый IP адрес. У меня, в частности, не динамический IP, поэтому у меня всегда высвечивается один и тот же адрес при перезагрузках.

Тип соединения с провайдером

От того какое у вас соединение с провайдером зависит реализация данной задачи.

В общих чертах схемы бывают двух типов:

  • подключение через роутер, к которому вы уже подключаете свои устройства (компьютеры, телефоны, ноутбуки)
  • подключение напрямую кабелем в компьютер (или LTE модем)

При реализации подключения через роутер, вам необходимо написать скрипт подключения к нему через командную строку и отправку команды на перезагрузку.

При реализации подключение напрямую кабелем необходим бат файл, который будет пересоздавать соединение с провайдером.

Подключение через роутер

В случае если у вас роутер, первым делом Вам необходимо выяснить как можно подключиться к нему через командную строку Windows. Обычно в данном случае используется протокол управления telnet.

1 вариант

Вот пример vbs скрипта, который используется у меня в одном из администрируемых мной офисов (из-за нестабильного инета приходится использовать такой костыль). Роутер «Zyxel Keenetic»:

set WshShell = WScript.CreateObject("WScript.Shell")

WScript.Sleep 5000
WshShell.run "telnet.exe"

WScript.Sleep 5000
WshShell.SendKeys"o 192.168.1.1" & chr(13)

WScript.Sleep 10000
WshShell.SendKeys"login" & chr(13)

WScript.Sleep 10000
WshShell.SendKeys"password" & chr(13)

WScript.Sleep 10000
WshShell.SendKeys"system reboot" & chr(13)

WScript.Sleep 3500
ProcessClose("cmd.exe")
ProcessClose("telnet.exe")
Function ProcessClose(sProcName)
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '" & sProcName & "'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
End Function

В полях «login» и «password» необходимо указать данные для подключения к своему роутеру. В поле «system reboot» указывается команда для перезагрузки роутера, для каждого роутера она может быть своя. Сохраните данные команды в файле с расширением vbs.

Запускается через bat скрипт:

start wscript.exe "C:\путь_к_скрипту\имя_скрипта.vbs"

Далее просто сохраняете данный скрипт в bat файл и запускаете. Если роутер или модем перезагрузился, то можно использовать данный вариант.

2 вариант

Этот с точки зрения написания скрипта проще, но не везде работает

192.168.8.1 23
WAIT "Login:"
SEND "LOGIN" - указываете логин к устройству (комментарий удалить в скрипте)
WAIT "Password:"
SEND "PASS" - указываете пароль к устройству (комментарий удалить в скрипте)
WAIT ">"
SEND "system restart" - команда на перезагрузку устройства (комментарий удалить в скрипте)

Далее просто сохраняете данный скрипт в bat файл и запускаете. Если роутер или модем перезагрузился, то можно использовать данный вариант.

Подключение через прямое соединение кабелем

1 вариант

Если вы подключены к интернет через локальную сеть

ipconfig /flushdns
ipconfig /release
ipconfig /renew

2 вариант

Можно использовать программу rasdial в bat скрипте:

rasdial "имя_соединения" /DISCONNECT
rasdial "имя_соединения" "login" "password"

Применение скрипта

После подготовки скрипта, его достаточно указать в программе Webisida чтобы он выполнялся с определенным расписанием. Открываем программу Webisida SecureSafe браузер. Сверху «Опции» -> «Смена IP адреса»

screen_script_web_1

Указываем в поле «Путь к программе…» путь к нашему bat файлу, который будет запускать наш vbs скрипт. Далее указываем интервал времени, с которым будет выполняться данный скрипт. Далее, если программа не выполнилась, то через какое время надо повторить попытку запуска программы. Можно поставить галочку напротив «Не дожидаться завершения просмотра всех сайтов», на случай если вы хотите чтобы запуск программы был только когда в серфинге появляется надпись «В данный момент нет сайтов для серфинга».

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

Заключение

В заключение хочу сказать, что данная задача открывает много пространства для творчества. Реализовать вы можете её даже через самый примитивный автокликер (например, Autoit). У меня лично не динамический IP, поэтому данный вопрос я не прорабатывал, но все что я тут указал, способы рабочие и применимы в определенных случаях. Так же на просторах интернета можно найти разные утилиты (например, «Router Control»), которые тоже способны управлять роутером через командную строку и позволяет реализовать данную задачу.

НЕТ КОММЕНТАРИЕВ