無線LAN WEBキー更新スクリプト③
WEPキー要件。
- 128ビットWEP(ASCII 13文字)
- 毎日変わる
- 秒レベルで暗算できる
- それなりにぐちゃぐちゃ?
まぁこれくらいでいいや。例によってsyslogに結果を書いとけ。
[root@localhost]# pwd /etc/cron.daily [root@localhost]# cat chwep #!/usr/bin/perl -w use strict; use warnings; use DateTime; use HTTP::Request::Common; use LWP::UserAgent; use Sys::Syslog; # const my $USERID = 'xxxxx'; my $PASSWD = 'zzzzz'; my $URL = 'http://192.168.1.2/setup/setup_null.shtml'; # wep key my $d = DateTime->now->set_time_zone('Asia/Tokyo'); my $key = unpack 'H*', pack 'A*', join '', reverse split '', ($d->year + $d->month + $d->day) . $d->day_of_week . ($d->year - $d->month - $d->day) . $d->day_of_week . sprintf "%03d", $d->month * $d->day; # post my $req = POST $URL, [ i1_3_6_1_4_1_937_2_1_2_7_0 => '3', i1_2_840_10036_1_2_1_3_1_1 => '1', i1_2_840_10036_1_2_1_3_1_2 => '1', i1_2_840_10036_1_5_1_1_1 => '1', i1_2_840_10036_1_5_1_4_1 => '1', x1_2_840_10036_1_3_1_2_1_1 => $key]; $req->authorization_basic($USERID, $PASSWD); my $resp = LWP::UserAgent->new->simple_request($req); # syslog openlog($0, 'cons,pid', 'user'); syslog('info', $resp->is_success ? 'success' : 'fault'); closelog();