a's

阿斯

#!/bin/sh
while [ 1 ]
do
STIME=`date +%F"@"%H%M%S`     #抓取抓包时间
DATE_DIR=`date +%F`                    #抓取抓包文件夹日期
if [ ! -d /data/$DATE_DIR ];then
mkdir -p /data/$DATE_DIR                 #判断目标文件夹下是否有该日期的目录,有则忽略,无则创建 
fi
/usr/sbin/tcpdump -i eth1 -c 30000 -w /data/$DATE_DIR/$STIME.pcap > /dev/null 2>&1 &      #后台抓包,监控eth1端口,每次自动抓包3w个自动停止并保存到相应目录,这个值可以根据需要来修改
sleep 1m      #抓包后停止1分钟继续抓,该值可以根据需要来修改
done             
2:监控硬盘使用率脚本 modisk.sh ,由于连续抓包会生成众多pcap数据文件,非常占用硬盘空间,所以监控硬盘使用率是保证监控脚本健康运行的前提条件,下面写了个脚本,可以设定计划任务,每6个小时执行一次(可根据需要来修改),监控硬盘使用率大于50%(可以根据情况来修改),则自动筛选出最早的数据文件夹并删除.

#!/bin/bash
FREEDISK=`df -h|grep "/dev/sda1"|awk '{print $5}'|awk -F % '{print $1}'`  #抓取磁盘占用百分比
HEADDIR=`ls -l /data|grep ^d|awk '{print $NF}'|sort|head -n 1`           #抓取之间最靠前的文件夹名称
if [ "$FREEDISK" -ge "50" ];then
rm -rf /data/"$HEADDIR"                                                  #判断磁盘占用百分比是否超过设定阈值,如果不超过则忽略并退出脚本,超过则执行删除HEADDIR目录
fi
3: 监控抓包脚本运行状态的脚本 motcpdump.sh , 由于机器长期运行,中间又不可能天天登陆服务器去检查抓包脚本是否在运行中怎么办? 下面脚本可以实现这个自动巡检的功能.

#!/bin/bash

MOTCPDUMP=`ps -elf|grep tcpdump|grep -v grep`   #抓取系统进程中是否有tcpdump进程
if [ ! "$MOTCPDUMP" ];then
/bin/bash /home/tcpdump.sh &                    #判断有则忽略并退出,没有则重新后台执行该脚本
fi
将上
原文地址:https://www.cnblogs.com/dengcongcong/p/12101156.html