<i id='ol6vs'><div id='ol6vs'><ins id='ol6vs'></ins></div></i>

    <dl id='ol6vs'></dl>

  1. <tr id='ol6vs'><strong id='ol6vs'></strong><small id='ol6vs'></small><button id='ol6vs'></button><li id='ol6vs'><noscript id='ol6vs'><big id='ol6vs'></big><dt id='ol6vs'></dt></noscript></li></tr><ol id='ol6vs'><table id='ol6vs'><blockquote id='ol6vs'><tbody id='ol6vs'></tbody></blockquote></table></ol><u id='ol6vs'></u><kbd id='ol6vs'><kbd id='ol6vs'></kbd></kbd>

    <code id='ol6vs'><strong id='ol6vs'></strong></code>
      <i id='ol6vs'></i>

      <span id='ol6vs'></span>
      <acronym id='ol6vs'><em id='ol6vs'></em><td id='ol6vs'><div id='ol6vs'></div></td></acronym><address id='ol6vs'><big id='ol6vs'><big id='ol6vs'></big><legend id='ol6vs'></legend></big></address>

      1. <fieldset id='ol6vs'></fieldset>

          <ins id='ol6vs'></ins>

        1. linux下利用tcpdump实现24小时自动抓包

          • 时间:
          • 浏览:5
          • 来源:124软件资讯网

              安装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_DIR6***/bi", "pubDate": "2019-05-17T18:09:23", "upDate": "2019-05-17T18:09:23", "lrDate": "2019-05-17T18:09:23" }