日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux系统抓包回放,Linux下24小时持续网络抓包(TCPDUMP)

發布時間:2025/5/22 linux 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统抓包回放,Linux下24小时持续网络抓包(TCPDUMP) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

適用于CentOS/REHL/Ubuntu/Debian等,抓出來的包可用Wireshark直接打開分析。

參考文章:

原文的腳本相互調用時,名稱有些問題,已修改

1、安裝tcpdump

執行(Ubuntu/Debian)

apt-get install tcpdump -y

或(CentOS/RHEL)

yum install tcpdump -y

2、編輯抓包主腳本main_dump.sh(假定腳本都放在/home目錄,下同。如不放此路徑則需更改相應腳本內容里的路徑)

vi /home/main_dump.sh

內容

---------------------------------------------------------------

#!/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 如果你的網卡不是eth0,請替換為實際網卡設備名

DUMPPID=`ps -ef|grep "tcpdump -i eth0"|grep pcap|awk '{print $2}'`

if [ ! "$DUMPPID" ];then

#diy 請把host后的IP地址替換為需要抓取的源/目標地址;網卡替換為實際設備名;抓取的數據放在/data下,每天獨立子目錄

/usr/sbin/tcpdump -i eth0 host 10.13.6.15 -w /data/$DATE_DIR/$STIME.pcap -s 0 &

fi

sleep 1

#diy 如果你的網卡不是eth0,請替換為實際網卡設備名

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

-----------------------------------------------------------------------------

3、編輯抓包監控腳本monitor_dump.sh

vi /home/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 main_dump|grep -v grep`

#diy 如果你的網卡不是eth0,請替換為實際網卡設備名

DUMPPID=`ps -ef|grep "tcpdump -i eth0"|grep pcap`

#check main programme status

if [ ! "$MAINDUMP" ];then

/bin/bash /home/main_dump.sh

fi

if [ ! "$DUMPPID" ];then

#diy 請把host后的IP地址替換為需要抓取的源/目標地址;網卡替換為實際設備名

/usr/sbin/tcpdump -i eth0 host 10.13.6.15 -w /data/$DATE_DIR/$STIME.pcap -s 0 &

fi

-------------------------------------------------------------------------

4、編輯磁盤空間監控腳本monitor_disk.sh

vi /home/monitor_disk.sh

內容

---------------------------------------------------

#!/bin/bash

#script name:/home/monitor_disk.sh

#diy 設備/dev/xvf1是/data所在的磁盤,請替換為你實際的磁盤設備號

FREEDISK=`df -h|grep "/dev/xvdf1"|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 磁盤大于等于占用75%時,刪除最早那天的抓包數據,以釋放空間

if [ "$FREEDISK" -ge "75" ];then

rm -rf /data/"$HEADMOST"

fi

------------------------------------------------------

5、賦予腳本執行權限

chmod +x /home/main_dump.sh

chmod +x /home/monitor_dump.sh

chmod +x /home/monitor_disk.sh

6、將定時抓包加到crontab服務的任務計劃里

vi /etc/crontab

增加(每天6點執行)

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

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

然后執行

crontab /etc/crontab

使計劃任務生效

7、如果想現在就開始執行(否則在6點才開始),或者在以后中途重啟了系統(抓包會停)想重新開始

可執行

nohup sh /home/monitor_dump.sh &

8、關于TCPDUMP及其配合Wireshark的更多用法,可參考:

總結

以上是生活随笔為你收集整理的Linux系统抓包回放,Linux下24小时持续网络抓包(TCPDUMP)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。