写一个Linux服务器自动tcpdum抓包脚本

1、写一个定时tcpdump抓包的sh脚本,方便我们对一些定时的任务数据分析包情况脚本代码放到了下面,给大家说明下里面参数

HOST:抓包过滤主机IP地址

PORT:抓包过滤端口(不需要可以注释掉)

INTERFACE:抓包网卡,any指的是所有网卡,也可指定网卡如:ens1,eth0之类

DURATION:抓包时长300S

OUTPUT_DIR:抓包文件保存路径/data

LOG_FILE:抓包脚本操作日志保存路径/var/log/tcpdump_pcap.log

只需要根据需求修改上述参数就可以,其他的可不用动

bash 复制代码
#!/bin/bash

HOST="192.168.10.1"
PORT="1468"
INTERFACE="any"
DURATION=300  #5分钟
OUTPUT_DIR="/data"
LOG_FILE="/var/log/tcpdump_pcap.log"

TIMESTAMP=$(date '+%Y%m%d_%H%M%S')
OUTPUT_FILE="${OUTPUT_DIR}/pcap_${TIMESTAMP}.pcap"

#开始时间
echo "$(date '+%Y-%m-%d %H:%M:%S') - 开始抓包: host $HOST port $PORT" >> $LOG_FILE

# 执行tcpdump5分钟
timeout $DURATION /usr/sbin/tcpdump -i $INTERFACE host $HOST and port $PORT -vv -w $OUTPUT_FILE

# 检查命令执行结果
if [ $? -eq 0 ]; then
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 抓包完成: $OUTPUT_FILE" >> $LOG_FILE
    
    # 获取文件大小
    FILE_SIZE=$(du -h $OUTPUT_FILE | cut -f1)
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 文件大小: $FILE_SIZE" >> $LOG_FILE
else
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 抓包失败或超时" >> $LOG_FILE
fi

2、我们创建好tcpdump_pcap.sh脚本就可以创建我们的定时任务了

bash 复制代码
crontab -e

添加定时任务如下每天凌晨5点开始执行抓包脚本,可以根据需求自行修改前面时间(0 5 * * *),时间不知道怎么写可以百度例:(crontab每小时执行一次时间格式)

bash 复制代码
0 5 * * * bash /root/tcpdump_pcap.sh
相关推荐
IMPYLH24 分钟前
Linux 的时间为什么会被拨回去
linux·运维·服务器
叼烟扛炮2 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
xbzb2 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
Android系统攻城狮4 小时前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
水饺编程5 小时前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编
Zevalin爱灰灰5 小时前
Linux入门第二部分(ARM裸机篇) 第二章 Cortex-A7 MPCore架构与ARM汇编基础
linux·汇编·arm开发·嵌入式
倔强的石头1065 小时前
【Linux指南】进程通信系列(七):System V 信号量 —— 同步互斥的内核原语
linux·运维·服务器
GeW5 小时前
从"补短板"到"强优势"Linux与数据库认证成为产业跃迁人才支点
linux·数据库
PellyKoo7 小时前
【Ubuntu】GTX 1080 Ti 显卡占用为0但功率高达60W的排查与解决
linux·运维·ubuntu
Fruiticecake8 小时前
epoll 回显服务器是怎么工作的:从 accept 队列到就绪链表,以及它和 select / poll 的区别
linux