MSN 監聽實作
發表於 : 2012-08-10 12:03:25
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的監控囉
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的監控囉