|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于开发环境的选择尽量要轻量级和高度可定制,航空母舰级别的工具往往会让你迷惑不解;
安装tcpdump
代码以下#yuminstalltcpdump 剧本里有正文#diy的,暗示下一行需自界说修正。
剧本都放在home目次下;crontab里写:
**/6***/bin/bash/home/monitor_dump.sh
**/6***/bin/bash/home/monitor_disk.sh
依据当磁盘空间的巨细和流量的巨细断定crontab里的工夫距离
因加了crontab要工夫到才实行,为了如今实行,可实行:nohupsh/home/monitor_dump.sh&
vi经常使用命令
#vi/etc/crontab
insert进进编纂形态
ESC进进命令形态
:wq保留加入
:q加入
修正后要实行crontab/etc/crontab
main_dump.sh(抓包的主程序)
每隔1分钟经由过程逝世轮回检测,让程序不休的往抓包;思索到抓包的了局大概太年夜剖析工具没法翻开剖析,以是每一个数据包巨细限定约为100M;
并设定了前一个包抓完,距离5秒,入手下手举行下一轮抓包;
天天的数据包放在/data下以日期定名的目次如:/data/2010-03-08,并举行紧缩存储,包的命令格局为:yyyy-mm-dd@hhmmss-hhmmss.pcap.gz;个中yyyy-mm-dd暗示日期,第一个hhmmss暗示入手下手抓包的时分秒,第二个hhmmss暗示抓包停止的时分秒。
代码以下#!/bin/bash
#scriptname:/home/main_dump.sh
while:
do
STIME=`date+%F"@"%H%M%S`
DATE_DIR=`date+%F`
if[!-d/data/$DATE_DIR];then
mkdir-p/data/$DATE_DIR
fi
#diy#unit:byte;100MB
MAXSIZE=100000000
#diy
DUMPPID=`ps-ef|grep"tcpdump-ieth0"|greppcap|awk{print$2}`
if[!"$DUMPPID"];then
#diy
/usr/sbin/tcpdump-ieth0host113.105.152.180-w/data/$DATE_DIR/$STIME.pcap-s0&
fi
sleep1
#diy
DUMPPID=`ps-ef|grep"tcpdump-ieth0"|greppcap|awk{print$2}`
PACKSIZE=`ls-l/data/$DATE_DIR|grep"$STIME.pcap"|awk{print$5}`
while["$PACKSIZE"-lt"$MAXSIZE"];do
PACKSIZE=`ls-l/data/$DATE_DIR|grep"$STIME.pcap"|awk{print$5}`
sleep1m
done
kill-9$DUMPPID
ETIME=`date+%H%M%S`
mv/data/$DATE_DIR/$STIME.pcap/data/$DATE_DIR/$STIME-$ETIME.pcap
gzip/data/$DATE_DIR/*.pcap
sleep5
done monitor_dump.sh(监控抓包剧本)
为了包管抓包主程序能安康运转,经由过程crontab程序来调剂monitor_dump.sh;
监控抓包主程序是事一般运转,假如没有运转,则启动它;
代码以下#!/bin/bash
#scriptname:/home/monitor_dump.sh
DATE_DIR=`date+%F`
STIME=`date+%F"@"%H%M%S`
MAINDUMP=`ps-elf|grepmaindump|grep-vgrep`
#diy
DUMPPID=`ps-ef|grep"tcpdump-ieth0"|greppcap`
#checkmainprogrammestatus
if[!"$MAINDUMP"];then
/bin/bash/home/maindump.sh
fi
if[!"$DUMPPID"];then
#diy
/usr/sbin/tcpdump-ieth0host113.105.152.180-w/data/$DATE_DIR/$STIME.pcap-s0&
fi monitor_disk.sh(监控硬盘空间)
监控磁盘的余暇空间,当磁盘的利用率年夜于即是30%时(可设置),会主动删除最早一天抓到的地点数据包,以包管磁盘的余暇空间;
代码以下#!/bin/bash
#scriptname:/home/monitor_disk.sh
#diy
FREEDISK=`df-h|grep"/dev/sda3"|awk{print$5}|awk-F%{print$1}`
HEADMOST=`ls-l/data|grep^d|awk{print$NF}|sort|head-n1`
#checkfreediskstatus
#diy
if["$FREEDISK"-ge"30"];then
rm-rf/data/"$HEADMOST"
fi</p>
给你装的系统里为ubuntu12.04,它已经封装的很臃肿了,但是考虑到你没有很多时间投入其中,所以给你装了它,但是怎么用它提高开发效率,需要你在学习的过程中不断总结; |
|