Aterm DR202 ログ取得ツール
eAccess からレンタルされた ADSLプラス(回線速度最大12Mbps)対応のルータ Aterm DR202 では、
動作状況のログは、Webブラウザから確認する方式になっていて、
そのままでは、サーバ等でログを記録することができません。
そこで、動作状況のログを HTTP で取得するツールを作りました。
サーバ等の上で動かすことにより、ログの記録が実現できます。
現在の最新版は、1.1 (2002/11/21 リリース) です。
インターネット接続環境を更新したため、Aterm DR202 は返却しました。
このツールも不要となり、現在は使用していません。
-
Perl5 で記述されています。
利用しているパッケージは、標準で付いて来る IO::Socket のみなので、
*BSD や Linux であれば、そのまま、動作すると思います。
なお、動作確認は、OpenBSD 3.2 で行なっています。
-
文字コードの変換は、していません。
Aterm DR202 が出力するシフトJISコードのまま出力します。
-
起動時に Aterm DR202 が保持している通信情報ログの全てを出力し、
その後は、定期的にチェックして増加した分のログ情報を、逐次、出力します。
従って、もし、毎日、起動停止をするマシンで使用すると、
同じ情報が、何度も重複して記録されることになります。
24時間運転のマシンでの利用を想定した仕様になっています。
-
ログ情報はファイル /var/log/dr202/system.log に追加モードで出力します。
-
Aterm DR202 の状態を以下のファイルに上書きモードで出力します。
出力先のディレクトリはログファイルと同じ /var/log/dr202/ になります。
- status
- 現在の状態(一通りの情報をカンマ区切りで)
- ip_addr
- WAN側のIPアドレス
- speed_dl
- 接続速度(下り、単位:Kbps)
- speed_ul
- 接続速度(上り、単位:Kbps)
-
ADSL回線の統計情報をファイル /var/log/dr202/adsl.log に追加モードで出力します。
-
Aterm DR202 が生成するHTMLが少しでも変わると、
必要な情報を抜き出すためのパターンマッチングが失敗し、
正常に動作しなくなる可能性があります。
動作確認している Aterm DR202 はファームウェアバージョンが 7.2f のものです。
-
Aterm DR202 へのアクセスは、ユーザ名/パスワードを必要とします。
そのため、プログラム中にユーザ名/パスワードを埋め込むようになっています。
セキュリティ上、あまり良くないことを了解した上で使用してください。
-
とりあえず動けば良いというレベルのプログラムなので、
スマートでないところがありますが、目をつぶってください。
-
このツールのライセンスは、
BSD流のライセンス とします。
-
最新の tar archive (3,082 byte)
MD5 (dr202m-1.1.tar.gz) = 14d69803e51cd72fa8a8a5c7f2cdcd95
-
ツールを動かすユーザIDを登録する。
セキュリティ上、root権限でツールを動かすのは適当でないので、
このツール専用のユーザID (例: dr202m) を登録します。
このユーザIDはパスワード情報を * にしてログイン不可にします。
-
ツールをインストールする。
アーカイブをダウンロードし、
その中にあるツール dr202m を適当な場所 (例: /usr/local/sbin) に置き、
owner を上で登録したユーザIDに、mode を 700 に変更する。
そして、環境依存の変数を変更する。
- $ROUTERHOST
- DR202 のホスト名
- $CREDENTIAL
- DR202 のアクセスに使用するユーザ名とパスワード
- $LOGDIRPATH
- ログと機器状態を出力するディレクトリのフルパス
- $INTERVAL
- 情報取得の間隔(単位:秒)
ここで、$CREDENTIAL は、ユーザ名(admin)とパスワードを ':' で区切って繋げ、
base64 エンコードしたものを指定します。
これは、例えば、perlを使えば以下のように作ることができます。
#!/usr/bin/perl
$_ = 'admin:パスワード';
$len = length($_);
$_ = pack("u",$_);
s/^.(.*)\s+$/$1/;
tr/\`\041-\137/A-Za-z0-9+\//;
if($len%3 == 1){ s/..$//; }elsif($len%3 == 2){ s/.$//; }
print("$_\n");
-
ログと機器状態を保存するディレクトリを作成する。
/var/log/dr202 を作成し、
owner を上で登録したユーザIDに、mode を 755 に変更する。
-
起動のための設定をする。
rc.local などに以下のように記述します。
echo -n ' dr202m'
su dr202m -c '/usr/local/sbin/dr202m &'
-
動作を確認する。
ツールを起動すると、すぐ、ログファイルと機器状態のファイルができるはずです。
ファイルの内容を見て、動作状況を確認してください。
- 2002/11/21
-
1.1版: 最初のリリース。