Linksys WAG120N – zmiana adresu IP z poziomu skryptu

Korzystając z Internetu czasem warto zmienić adres IP pod jakim jesteśmy widziani w sieci. Umożliwi to przykładowo pobranie następnego pliku bez oczekiwania. Oczywiście nasz ISP musi udostępniać taką możliwość (tak jest, dla przykładu z Neostradą).

W ruterze Linksys WAG120N można to zrobić za pomocą panelu kontrolnego dostępnego poprzez protokół HTTP. Czyli trzeba:

  1. wejść w przeglądarce pod właściwy adres
  2. wpisać nazwę użytkownika i hasło (lub zaakceptować zapamiętane przez przeglądarkę)
  3. przejść do Status (co)
  4. kliknąć Disconnect
  5. poczekać chwilkę
  6. kliknąć Connect
  7. poczekać chwilkę

Jak widać jest to sporo pracy. Szczęśliwie można to zautomatyzować za pomocą skryptu. Wystarczy skorzystać z sniffera (ja użyłem Wireshark).

W wyniku tego powstał poniższy skrypt powłoki (testowany w Bashu i Zsh). Mam nadzieję, że się komuś przyda. Wystarczy dokleić poniższy kod do pliku konfiguracyjnego powłoki (odpowiednio .bashrc lub .zshrc). No i należy pamiętać, że działa dużo lepiej jeśli odpowiednio ustawi się zmienne USER i PASS.

my-ip() {
  wget 'http://checkip.dyndns.org/' --quiet -O- | sed -e \
    's/[^0-9]*\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/g'
}

change-ip() {
  router-op() {
    USER="user"
    PASS="password"
    ADDR="http://192.168.1.1/setup.cgi"
    wget --http-user=$USER --http-password=$PASS $ADDR \
      --post-data $1 --quiet -O/dev/null 
  }
  REST='&this_file=Status.htm&next_file=Status.htm&message='
  echo Old IP: `my-ip`
  router-op 'ctype=pppoa&ifstatus=Up&todo=disconnect'$REST
  sleep 4
  router-op 'ctype=pppoa&ifstatus=Up&todo=connect'$REST
  sleep 8
  echo New IP: `my-ip`
}

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google

Komentujesz korzystając z konta Google. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s

%d blogerów lubi to: