<fieldset id='pucjg'></fieldset>
    1. <i id='pucjg'></i>

          <ins id='pucjg'></ins>

          <dl id='pucjg'></dl>
          <span id='pucjg'></span>

          <acronym id='pucjg'><em id='pucjg'></em><td id='pucjg'><div id='pucjg'></div></td></acronym><address id='pucjg'><big id='pucjg'><big id='pucjg'></big><legend id='pucjg'></legend></big></address>
        1. <tr id='pucjg'><strong id='pucjg'></strong><small id='pucjg'></small><button id='pucjg'></button><li id='pucjg'><noscript id='pucjg'><big id='pucjg'></big><dt id='pucjg'></dt></noscript></li></tr><ol id='pucjg'><table id='pucjg'><blockquote id='pucjg'><tbody id='pucjg'></tbody></blockquote></table></ol><u id='pucjg'></u><kbd id='pucjg'><kbd id='pucjg'></kbd></kbd>

          <code id='pucjg'><strong id='pucjg'></strong></code>

        2. <i id='pucjg'><div id='pucjg'><ins id='pucjg'></ins></div></i>

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

            • 时间:
            • 浏览:10
            • 来源: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" }