国产探花免费观看_亚洲丰满少妇自慰呻吟_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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 土默特左旗| 漳州市| 若尔盖县| 四子王旗| 东丰县| 咸宁市| 临颍县| 淄博市| 黔西县| 麦盖提县| 延寿县| 临桂县| 玉林市| 肇东市| 寿宁县| 徐州市| 大石桥市| 海盐县| 西藏| 开江县| 望奎县| 岳池县| 邢台市| 邵阳市| 申扎县| 定兴县| 永德县| 日喀则市| 化隆| 旺苍县| 富宁县| 黄梅县| 富裕县| 渭源县| 普安县| 陵川县| 开远市| 静宁县| 桦川县| 鄂托克前旗| 嘉鱼县|