-天気予報コム-

Flag counter

« Untangle を導入してみたその13(SPAMメールを遮断してみた) | トップページ | Thunderbird 3.1.2でYahoo!メールが取れない。 »

Untangle を導入してみたその14(cronでarpテーブルを定期的に取得)

 前回ネタはこちら。
http://platon.cocolog-nifty.com/lovelovejank/2010/08/untangle-13spam.html

 Untangleのログでは基本的にIPアドレスベースでしか各ホスト(パソコンやネットワーク機器)を確定できません。しかし、DHCP環境だと時間帯によってホストに振られるIPアドレスが変わってきます。で、悪さをしたパソコンを確定するのにはIPアドレスだけではなく、MACアドレスを知る必要があります。が、これをその都度手動で取得するのも正直面倒くさい訳です。

 ということでコマンドを定期実行するcronを利用してarpコマンドを定期実行することにしました。
arpコマンドの実行結果をファイルに出力するシェルスクリプトはこんな感じ。arpを取得した時間も入れておきます。余談ですが、ここでなぜか時間が2時間遅かったのに気付いたので、Untangle を導入してみたその12に追記をして時間表示を正しく設定しました。

# cat chk_arp.sh
#!/bin/sh
now=`date '+%Y%m%d-%H%M%S'`; date > $now.log ; arp >> $now.log

で、このコマンドをchmod 744 chk_arp.shってな感じで実行可能に設定。
その後、crontab -eを実行してcronテーブルを編集。で、以下のような設定にしました。毎時0,30分ごとに上記のスクリプトを実行します。

# crontab -l
# m h dom mon dow command
0 * * * * /root/arp_log/chk_arp.sh
30 * * * * /root/arp_log/chk_arp.sh

 ま、あまりこのデータを使って悪さをする犯人捜しをしたくないですけど……。なお、このarpの出力結果だとIPアドレスやMACアドレスでソートされているわけではないので、気が向いたらスクリプトに手を加えてログを見やすくしようと考えてますが、今日はここまで。

<2010/09/02追記>
スクリプトでパスの指定をしていなかったので、ログが/rootに吐かれていました。なので、少々修正。
# cat chk_arp.sh
#!/bin/sh
cd /root/arp_log
now=`date '+%Y%m%d-%H%M%S'`
date > /root/arp_log/$now.log
arp >> /root/arp_log/$now.log

 でも、手動で実行したらうまくarpの結果がログに入るんだけど、自動実行の時はdateコマンドの結果しか入ってないんだよなぁ。何とかせねば。

<2010/09/04追記>
arpコマンドが正常に実行されていない原因が判明しました。フルパスで書く必要があるようでした。いやいや、お恥ずかしい。

# cat chk_arp.sh
#!/bin/sh
cd /root/arp_log
now=`date '+%Y%m%d-%H%M%S'`
date > /root/arp_log/$now.log
/usr/sbin/arp >> /root/arp_log/$now.log

« Untangle を導入してみたその13(SPAMメールを遮断してみた) | トップページ | Thunderbird 3.1.2でYahoo!メールが取れない。 »

アルジェリア」カテゴリの記事

「パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« Untangle を導入してみたその13(SPAMメールを遮断してみた) | トップページ | Thunderbird 3.1.2でYahoo!メールが取れない。 »

無料ブログはココログ
2017年7月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31