BRL-04FM ログ取得ツール

PLANEXのブロードバンドルータ bRoad Lanner BRL-04FM はsyslog出力機能を持っているのですが、 回線の接続/切断の情報、WAN側のIPアドレスの情報はsyslogに出力しません。 このツールは、それらの情報をHTTPで取得して、ファイルに保存するものです。 サーバ等の上で動かすことにより、ルータの接続状況の記録が実現できます。

現在の最新版は、1.2 (2003/07/25 リリース) です。

仕様と制限事項

  1. Perl5 で記述されています。 利用しているパッケージは、標準で付いてくる IO::Socket::INET のみなので、 *BSD や Linux であれば、そのまま、動作すると思います。 動作確認は、OpenBSD 3.2, 3.3 で行ないました。
  2. 文字コードの変換は、していません。 BRL-04FM が出力するシフトJISコードのまま出力します。 なお、このツールが保存する情報にはASCII文字だけが使われているようですが、 100%そうだとは確認できていません。
  3. 起動時に BRL-04FM が保持している接続ログの全てを出力し、 その後は、定期的にチェックして増加した分のログ情報を、逐次、出力します。 従って、もし、毎日、起動停止をするマシンで使用すると、 同じ情報が、何度も重複して記録されることになります。 24時間運転のマシンでの利用を想定した仕様になっています。
  4. 接続ログの情報はファイル /var/log/brl/connection.log に追加モードで出力します。
  5. WAN側のIPアドレスをファイル /var/log/brl/ip-address に上書きモードで出力します。
  6. BRL-04FM が生成するHTMLが少しでも変わると、 必要な情報を抜き出すためのパターンマッチングが失敗し、 正常に動作しなくなる可能性があります。 動作確認している BRL-04FM はファームウェアバージョンが 1.0 Release 08 および Release 13 のものです。
  7. BRL-04FM へのアクセスはパスワードを必要とします。 そのため、プログラム中にパスワード情報を埋め込むようになっています。 セキュリティ上、あまり良くないことを了解した上で使用してください。
  8. このツールのライセンスは、 BSD流のライセンス とします。

ダウンロード

  1. 最新の tar archive (2,512 byte)
    MD5 (brl04fm-monitor-1.2.tar.gz) = 8cbb41970f9b4d68bc53131c0f55d799

セットアップ手順

  1. ツールを動かすユーザIDを登録する。
    セキュリティ上、root権限でツールを動かすのは適当でないので、 このツール専用のユーザID (例: brlmon) を登録します。 このユーザIDはパスワード情報を * にしてログイン不可にします。
  2. ツールをインストールする。
    アーカイブをダウンロードし、 その中にあるツール brl04fm-monitor を適当な場所 (例: /usr/local/sbin) に置き、 owner を上で登録したユーザIDに、mode を 700 に変更する。 そして、環境依存の変数を変更する。
    $ROUTERHOST
    BRL-04FM のホスト名またはIPアドレス
    $CREDENTIAL
    BRL-04FM のアクセスに使用するパスワード情報
    $LOGDIRPATH
    情報を出力するディレクトリのフルパス
    $INTERVAL
    情報取得の間隔(単位:秒)
    ここで、$CREDENTIAL は、 パスワードの前に ':' を付加したものを base64 エンコードしたものを指定します。 これは、例えば、perlを使えば以下のようにして作ることができます。
    #!/usr/bin/perl
    $_ = ':パスワード';
    $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");
    
  3. ログと機器状態を保存するディレクトリを作成する。
    /var/log/brl を作成し、 owner を上で登録したユーザIDに、mode を 755 に変更する。
  4. 起動のための設定をする。
    rc.local などに以下のように記述します。
    echo -n ' brl04fm-monitor'
    su brlmon -c '/usr/local/sbin/brl04fm-monitor &'
    
  5. 動作を確認する。
    ツールを起動すると、すぐ、ログファイルと機器状態のファイルができるはずです。 ファイルの内容を見て、動作状況を確認してください。

更新履歴

2003/07/25
1.2版: 接続ログにパスワードが含まれる場合があったので、 それをファイルに記録しない("????" に置換する)ように変更。
2003/06/06
1.1版: 最初のリリース。