linux上tcpdump循环抓包教程
smartpotato 元婴
本文距离上次更新已过去 0 天,部分内容可能已经过时,请注意甄别。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash
#script name:~/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 eno2"|grep pcap|awk '{print $2}'`

if [ ! "$DUMPPID" ];then
#diy
/usr/sbin/tcpdump -i eno2 -w /data/$DATE_DIR/$STIME.pcap -s 0 &
fi

sleep 1

#diy
DUMPPID=`ps -ef|grep "tcpdump -i eno2"|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
sleep 5
done

 打赏作者