MSN 監聽實作

回覆文章
yehlu
Site Admin
文章: 3244
註冊時間: 2004-04-15 17:20:21
來自: CodeCharge Support Engineer

MSN 監聽實作

文章 yehlu »

http://blog.xuite.net/beavisliu/blog/19156763

msn 監聽通常使用兩種架構

一種是使用應用軟體接收同一網段的廣播訊息,這種方法受限於硬體結構,必需使用HUB跨網段傳播的特性來接收,如果網路環境使用SWITCH時,不同網段將無法收到廣播

令一種方法就是架構在nat上,再由nat上的應用程式抓取封包,我們底下就實作這種架構

使用的套件為: msniff



一、安裝msniff



我們需要三個程式

下載點:

http://shh.thathost.com/pub-unix/files/ ... 2.0.tar.gz

http://shh.thathost.com/pub-unix/files/ ... 4.1.tar.gz

http://shh.thathost.com/pub-unix/files/ ... 1.7.tar.gz

該程式編譯後該目錄就是程式的目錄

所以下載完後放到自己管理的目錄去跑

我們先安裝 shhmsg-1.4.1.tar.gz 和 shhopt-1.1.7.tar.gz

兩個檔案分別解壓後進入目錄安裝

make install

再來先確認我們有沒有libpcap套件

沒有的話直接 yum install libpcap 安裝它

或者是下載http://www.tcpdump.org/release/libpcap-0.9.8.tar.gz

解壓後安裝

./configure

make install

檢查 libpcap:

rpm -qa | grep libpcap

都ok了 再來裝msniff-0.2.0.tar.gz

解壓msniff-0.2.0.tar.gz後進入目錄

make

會產生一個msniff的執行檔,這樣應該就ok了



二、msniff 指令用法

./msniff eth0 ANY 1863

eth0 : 要監聽的介面

ANY : 要監聽的pc ,可以打 ip 192.168.x.x

1863 : 要監聽的 port , msn 預設 1863



三、轉為文字檔

msniff eth0 ANY 1863 > /var/log/msn/msn.log &

> : 轉向符號

& : 轉為背景執行

該文字檔為 UTF-8 格式

要轉為big5 可以這樣轉檔:

iconv -f utf-8 -t big5 -c msn.log > msn_big5.log &

持續監控可以這樣:

tail -f msn.log



四、完整的天天備份log檔設定

如果要由系統來以天數來備份

可以用以下的方法設定

1.先寫一個即時轉BIG5的script

方便當天能即時查看log

產生轉檔程式 vi transport

#!/bin/bash
iconv -f utf-8 -t big5 -c /目錄/msn.log > /目錄/final.log

2.寫一個主要的script檔 vi msnlog

LOG目錄在/var/log/msn 下面

會以年份月份分割目錄

年份月份目錄下則是存放當月的每日存檔

#!/bin/bash

#----------------------------------------------------------

date1=$(date +%Y%m)
date2=$(date +%Y%m%d).log

#----------------------------------------------------------
sh /var/log/msn/transport
killall msniff
rm -rf /var/log/msn/msn.log
mkdir /var/log/msn/$date1
mv /var/log/msn/final.log /var/log/msn/$date1/$date2



/目錄/msniff-0.2.0/msniff eth0 ANY 1863 > /var/log/msn/msn.log &



3.開機自動執行msniff

vi /etc/rc.local

# start msniff when bootup
/目錄/msniff-0.2.0/msniff eth0 ANY 1863 > /var/log/msn/msn.log &

這裡是讓系統重開機時能夠跑msniff





4.每天晚上1:30 自動轉檔存放

vi /etc/crontab

# running MSN log
30 1 * * * root sh /var/log/msn/msnlog



這樣就完成msn的監控囉
回覆文章

回到「Linux」