curlでBBR-4MGを再起動させてみる

 2011-09-25
知人のnet環境はなぜかPPPがブチブチ途切れるらしい。どうやらそのたびにルータを再起動させているらしいのだが、それだと非常に鬱陶しいのでcurlで再起動させる仕込みをしてみた。
先日の記事(curlでWR-4100Nの再起動をさせてみる)は私の環境での試行でしたので、知人の環境にポーティングします。


最初は、先日と同様に再起動時のwebアクセスだけを真似ればいいだろうと思い、そこだけcurlしてみましたがどうもうまくいきませんでした。ルータの機種はBBR-4MGなので違う手順が必要です。


tcpdump.jpgキャプチャしてみました。
キャプチャ画像は認証時のもの。まずは /cgi-bin/login.exe にPOSTで user=ゆーざ&pws=ぱすわーど を投げて認証しています。同様にして、再起動時のキャプチャも確認して通信の内容を確認します。

#!/bin/zsh -f

ROUTER="192.168.24.1"
USER_NAME="root"
USER_PASS=""

### router access
curl "http://${ROUTER}/"

### router login
curl -d "user=${USER_NAME}&pws=${USER_PASS}" \
     "http://${ROUTER}/cgi-bin/login.exe"

### router reboot
curl -d "action=Reboot" \
     -H "Referer: http://${ROUTER}/ad-admin-init.stm" \
     "http://${ROUTER}/cgi-bin/restart.exe"
そして作ったshellscriptがこれ↑
  1. まず始めにルーターのwebインターフェースにアクセスしています。おそらくこれは不要かな…。念のためおまじないで入れているだけです。
  2. 次に、/cgi-bin/login.exeにパケットキャプチャして確認した書式でユーザとパスワードをPOSTで送りつけます。
  3. 最後に、/cgi-bin/restart.exeに"action=Reboot"をPOSTで添えてアクセスすると、ルータは再起動してくれます。どうやらこの時はRefererをチェックしているらしいので、ちゃんと指定しておきます。

ここまで作ってあとは知人にお任せしました。netが千切れていたらこのshellscriptを叩く感じで使います。


おそらく、似たようなルータ(BuffaloのBBRシリーズ?)であれば同様の手口で叩けると…思います。
 
コメント












管理者にだけ表示を許可する
トラックバック
トラックバックURL:
http://wbbwbb.blog83.fc2.com/tb.php/51-bd30539f
≪ トップページへこのページの先頭へ  ≫