グチ言う三 まごめ支部

2004年04月版 その3




[an error occurred while processing this directive]

2004/04/23 (金)

列車爆発

北朝鮮で列車爆発事故

少し前に似たような事故がなかったっけ?と思って調べてみた。
この前のはイランでしたな

[an error occurred while processing this directive]

2004/04/24 (土)

電信八号用ウィルスメール隔離スクリプト

Netskyなどのウィルスメールが届きまくってメールボックスが収集つかなくなってきたので、まとめて隔離するためのスクリプトをPerlで書いてみた。
せっかくなので公開。

注意:このスクリプトはメールボックス内のファイルを直接操作します。
このスクリプトを実行したことによって電八の動作がおかしくなったり大切なメールが紛失したりしても一切責任は負いません。


#!perl
use English;

# 電八がインストールされているディレクトリ
$Den8Dir= 'C:\usr\apl\den8';
# ウィルスを取り除きたいフォルダー
$SubFolder= 'IN';
# 隔離先フォルダー
$DestFolder= 'virus';
#--------------------------------------------------------

opendir DIR, "${Den8Dir}\\${SubFolder}" or die;
@mail= grep(/.txt$/i, readdir(DIR));
closedir DIR;

opendir DIR2, "${Den8Dir}\\${DestFolder}" or die;
@destfiles= grep(/.txt$/i, readdir(DIR2));
closedir DIR2;
@destfiles2= sort(@destfiles);
$lastname= pop(@destfiles2);
$dest_num= substr($lastname, 0, 4);

foreach $file (@mail)
{
    open IN, "${Den8Dir}\\${SubFolder}\\$file";

    $count= 0;
    $flag= 0;
    $virus= 0;

    until(eof(IN)||++$count==120)
    {
        $buf= <IN>;
        if($buf =~ /charset="(Windows-1252|iso-8859-1)"/)
        {
            $flag= 1;
        }
        elsif($buf =~ /Content-Type:.*name=".*\.([^"]+)"/)
        {
            $ext= $1;
            if(($ext =~ /scr|exe|pif/)||($flag && $ext =~ /zip/))
            {
                #print "$file: $ext\n";
                $virus= 1;
                last;
            }
        }
    }
    close IN;
    
    if($virus)
    {
        $destname= sprintf("%04d", ++$dest_num);
        $cmd= "move ${Den8Dir}\\${SubFolder}\\$file ${Den8Dir}\\${DestFolder}\\${destname}.TXT";
        print "$cmd\n";
        `$cmd`;
    }
}

電信八号Ver.32.1.3.1で動作確認。

実行の前準備として、電八上でウィルスメール隔離先フォルダーを作成しておく必要があります。(上記スクリプトのデフォルトでは「virus」フォルダー)
さらに、隔離先フォルダーに1通以上のメールがある必要があります。よって、ウィルスメールの一通目は手動で隔離先フォルダーに移動して下さい。
つまり、virusフォルダー内に「0000」番のメールが存在していればOKです。
また、当然ながらスクリプト内の「電八がインストールされているディレクトリ」等は環境に合わせて書き替えて下さい。

前準備が出来たら、スクリプトを実行します。
ウィルスと思われるメールが検出されると、実行するコマンドがコンソールに表示されたうえでメールの移動が行われます。

スクリプトが終了したら、電八上で後処理を行う必要があります。
ウィルスを取り除きたいフォルダー(IN)、隔離先フォルダー(virus)それぞれで「Ctrl+D」を押して「最新の情報に更新」して下さい。これによってインデックスが更新され、メールが移動されたのが確認できます。

ウィルスでないメールが移動されてしまっていたら、隔離フォルダーから手動で戻して下さい。(;´Д`)

[an error occurred while processing this directive]

2004/04/29 (木)

黄金週間

今年のゴールデンウィークは出かける予定も無いのでヒキコモリ健康法。

というか、暦通りに明日出社なのでまだ連休ではないのだが。

[an error occurred while processing this directive]

2004/04/30 (金)

出社日

今日仕事していると休日出勤しているような気分になるのは私だけですか?

お買い物

会社帰りに有楽町ソフマップに行った。

本当はクラナドを買おうと思っていたのだが見つからず。

[an error occurred while processing this directive]


この日記は、GNSを使用して作成されています。

Written by メモル
Copyright © by Takanori YOSHIMURA