国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

linux下利用tcpdump實現24小時自動抓包

2020-05-27 13:12:21
字體:
來源:轉載
供稿:網友

   安裝tcpdump

 代碼如下   # yum install tcpdump

  腳本里有注釋#diy的,表示下一行需自定義修改。

  腳本都放在home目錄下;crontab里寫:

  * */6 * * * /bin/bash /home/monitor_dump.sh

  * */6 * * * /bin/bash /home/monitor_disk.sh

  根據當磁盤空間的大小和流量的大小確定crontab里的時間間隔

  因加了crontab要時間到才執行,為了現在執行,可執行:nohup sh /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 #script name:/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 -i eth0"|grep pcap|awk {print $2}`     if [ ! "$DUMPPID" ];then     #diy         /usr/sbin/tcpdump -i eth0 host 113.105.152.180 -w /data/$DATE_DIR/$STIME.pcap -s 0 &     fi     sleep 1     #diy     DUMPPID=`ps -ef|grep "tcpdump -i eth0"|grep pcap|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}`         sleep 1m     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     sleep 5 done

  monitor_dump.sh (監控抓包腳本)

  為了保證抓包主程序能健康運行,通過crontab程序來調度monitor_dump.sh;

  監控抓包主程序是事正常運行,如果沒有運行,則啟動它;

 代碼如下   #!/bin/bash #script name:/home/monitor_dump.sh DATE_DIR=`date +%F` STIME=`date +%F"@"%H%M%S` MAINDUMP=`ps -elf|grep maindump|grep -v grep` #diy DUMPPID=`ps -ef|grep "tcpdump -i eth0"|grep pcap` #check main programme status if [ ! "$MAINDUMP" ];then     /bin/bash /home/maindump.sh fi if [ ! "$DUMPPID" ];then #diy     /usr/sbin/tcpdump -i eth0 host 113.105.152.180 -w /data/$DATE_DIR/$STIME.pcap -s 0 & fi

  monitor_disk.sh(監控硬盤空間)

  監控磁盤的空閑空間,當磁盤的使用率大于等于30%時(可設置),會自動刪除最早一天抓到的所在數據包,以保證磁盤的空閑空間;

 代碼如下   #!/bin/bash #script name:/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 -n 1` #check free disk status  #diy if [ "$FREEDISK" -ge "30" ];then     rm -rf /data/"$HEADMOST"        fi
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浠水县| 运城市| 巩义市| 淄博市| 体育| 平阴县| 黔东| 婺源县| 恭城| 饶河县| 衡南县| 韩城市| 鲜城| 淳安县| 柳江县| 姚安县| 会昌县| 庄河市| 武汉市| 区。| 昌吉市| 迁安市| 温泉县| 漳州市| 新绛县| 利辛县| 张家界市| 凉城县| 根河市| 阿坝县| 桑植县| 汝南县| 通河县| 西盟| 会同县| 湟中县| 颍上县| 巢湖市| 新建县| 大足县| 西安市|