> Linux教程 > 系统运维 >

网卡发包很大时抓包脚本


 
01 #!/bin/sh
02  
03 #
04 # setup area
05 #
06  
07 SNIF_IF=eth0
08 PKG_threshold=7000
09 SAVE_DIR=/home/snif_log
10 SNIF_COUNT=2000
11  
12 #
13 # don't change
14 #
15 [ ! -d $SAVE_DIR ] && mkdir -p $SAVE_DIR
16 while :;
17 do
18  
19         PKG_CUR=`sar  -n DEV 1 2|grep $SNIF_IF|head -n 2|tail -n 1|awk '{print $3}'|cut -d. -f1`
20         #如果sysstat以12小时(AM,PM)计时,则重新取一次,以获得正确结果
21         [ "x$PKG_CUR" = "x$SNIF_IF" ] && PKG_CUR=`sar  -n DEV 1 2|grep$SNIF_IF|head -n 2|tail -n 1|awk '{print $4}'|cut -d. -f1`
22  
23         if [ $PKG_CUR -gt $PKG_threshold ];then
24                 tcpdump -n -i $SNIF_IF -c $SNIF_COUNT -vs0 -w $SAVE_DIR/$SNIF_IF.`date +%m%d-%H%M`.cap
25                 #tcpdump -n -i $SNIF_IF -c $SNIF_COUNT  -w $SAVE_DIR/$SNIF_IF.`date +%m%d-%H%M`.cap
26         fi
27  
28         sleep 300
29 done


(责任编辑:IT)